2012-06-07 31 views
1

我想创建一个silverlight wepart从SharePointList中获取listItems。Silverlight Webpart获取列表项目

void MainPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    MessageBox.Show(ListName); 
    clientContext = ClientContext.Current; 
    oWebsite = clientContext.Web; 
    List myList = clientContext.Web.Lists.GetByTitle(ListName); 

    CamlQuery query = CamlQuery.CreateAllItemsQuery(); 
    ListItemCollection listItems = myList.GetItems(query); 

    clientContext.Load(listItems); 
    clientContext.ExecuteQueryAsync(onQuerySucceeded, onQueryFailed); 

} 

private void onQuerySucceeded(object sender, ClientRequestSucceededEventArgs args) 
{ 
    UpdateUIMethod updateUI = DisplayInfo; 
    this.Dispatcher.BeginInvoke(updateUI); 
} 

private void DisplayInfo() 
{ 
    foreach (ListItem listItem in listItems) 
    { 
     label1.Content += listItem.FieldValues["Typ"].ToString(); 
    } 
} 

其装载名单,但不知其不加载时listItems和价值观...... 没有人知道如何获得listItems中的值的特定字段。

在此先感谢 的Ebru

回答

0

感谢您对快速响应!

我做了这样:

foreach (ListItem listItem in listItems) 
    { 
    textBox1.Text += listItem.FieldValues["File_x0020_Type"].ToString(); 
    } 

在Silverlight中,你可以listItems中的内部FIELDNAMES唯一获得fieldValues! look here

0

尝试以这种方式访问​​的字段:

foreach (ListItem listItem in listItems) 
    { 
     label1.Content += listItem.item["Title"] + " : " + listItem.item["Typ"]; 
    }