我正在尝试使用SP2010网站上的列表填充gridview表作为要在其他SP站点上使用的webpart。到目前为止,我的代码是:
SPSite mySite = new SPSite("Sharepoint list URL ");
SPWeb myweb= mySite.OpenWeb();
SPList myList = myweb.Lists["ListName"];
SPListItemCollection items = myList.Items;
DataTable table;
table = new DataTable();
table.Columns.Add("Title", typeof(string));
table.Columns.Add("First Name", typeof(string));
table.Columns.Add("Last Name", typeof(string));
DataRow row;
foreach (SPListItem item in items)
{
row = table.Rows.Add();
row["Title"] = item.Name;
}
GridView2.DataSource = table.DefaultView;
GridView2.DataBind();
我尝试将名字和姓氏添加到代码中的其他各个位置,但没有成功。我最终在webpart生成的网站上有一个表,但它只有标题列显示正确的值,然后是两列,我添加了标题,但里面没有值。感谢您抽出宝贵时间考虑我的问题。
答案 0 :(得分:1)
您可以直接使用SPListItemCollection
作为GridView的数据源。
无需创建DataTable。
就这样做吧
SPSite mySite = new SPSite("Sharepoint list URL ");
SPWeb myweb= mySite.OpenWeb();
SPList myList = myweb.Lists["ListName"];
SPListItemCollection items = myList.Items;
GridView2.DataSource = items.GetDataTable();
GridView2.DataBind();
只需绑定要显示的列即可完成。