Tuesday, August 31, 2010

How to display items of list in datagrid using silverlight in sharepoint 2010

<data:DataGrid AutoGenerateColumns="True" Canvas.Left="21" Canvas.Top="12" Height="136" Name="dataGrid1" Width="714" >

</data:DataGrid>

.CS File

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.SharePoint.Client;
using SP = Microsoft.SharePoint.Client;
using System.Windows.Data;
namespace RegisterMemberInfo
{
public partial class MainPage : UserControl
{
public class Courses
{
public string Title { get; set; }
public string CourseName { get; set; }
public string ID { get; set; }
public string StartDate { get; set; }
public string EndDate { get; set; }
public string Location { get; set; }
public string EditCourseURL { get; set; }
public string BatchSize { get; set; }
public string RegisterMember { get; set; }
public string Fees { get; set; }
public string HeaderText { get; set; }
//public List<RegisterMemb> students { get; set; }
}
public MainPage()
{
InitializeComponent();
comboBox1.Items.Clear();
LoadInfo();
}


IEnumerable<ListItem> lstenum;void LoadInfo()
{
Web wb = ClientContext.Current.Web;
List lstname = wb.Lists.GetByTitle("Course Details");
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = "<View><Query><OrderBy> <FieldRef Name='Title' /></OrderBy></Query></View>";
var lstQry = from l in lstname.GetItems(camlQuery)
select l;
lstenum = ClientContext.Current.LoadQuery(lstQry);ClientContext.Current.ExecuteQueryAsync(succeed, fail);
}


void succeed(object sender, ClientRequestSucceededEventArgs args)
{
this.Dispatcher.BeginInvoke(displayList);
}


void fail(object sender, ClientRequestFailedEventArgs args)
{
}


void displayList()
{
var list = new List<Courses>();
//dataGrid1.ItemsSource = lstenum;
// comboBox1.ItemsSource = lstenum;
foreach (var lstvar in lstenum)
{
comboBox1.Items.Add(lstvar["Title"]);
list.Add(new Courses
{
Title = lstvar["Title"].ToString(),
ID=lstvar["ID"].ToString(),
StartDate = lstvar["StartDate"].ToString(),
EndDate = lstvar["EndDate"].ToString(),
Location = lstvar["Location"].ToString(),
});
}
dataGrid1.ItemsSource = list;
}}}