Просто удалите запись UILaunchImages из файла info.plist. Я знаю, что это не правильное решение, а просто взломать, но мне нужно было срочно загрузить мою сборку, и только это, похоже, сработало.
Другой способ сделать это должно использовать DataView. ToTable-метод - его первый параметр является тем, который входит в отличный список.
SPList movies = SPContext.Current.Web.Lists["Movies"];
SPQuery query = new SPQuery();
query.Query = "<OrderBy><FieldRef Name='Year' /></OrderBy>";
DataTable tempTbl = movies.GetItems(query).GetDataTable();
DataView v = new DataView(tempTbl);
String[] columns = {"Year"};
DataTable tbl = v.ToTable(true, columns);
можно затем продолжить двигаться с помощью DataTable tbl.
Там не ОТЛИЧНО в CAML для заполнения выпадающей попытки с помощью чего-то как:
foreach (SPListItem listItem in listItems)
{
if ( null == ddlYear.Items.FindByText(listItem["Year"].ToString()) )
{
ListItem ThisItem = new ListItem();
ThisItem.Text = listItem["Year"].ToString();
ThisItem.Value = listItem["Year"].ToString();
ddlYear.Items.Add(ThisItem);
}
}
Предполагает, что Ваше выпадающее называют ddlYear.
Можно ли переключиться от SPQuery до SPSiteDataQuery? Необходимо смочь без любых проблем.
После этого, можно использовать стандартное поведение ado.net:
SPSiteDataQuery query = new SPSiteDataQuery();
/// ... populate your query here. Make sure you add Year to the ViewFields.
DataTable table = SPContext.Current.Web.GetSiteData(query);
//create a new dataview for our table
DataView view = new DataView(table);
//and finally create a new datatable with unique values on the columns specified
DataTable tableUnique = view.ToTable(true, "Year");