在VS2012中将GridView表填充为具有SPList Only标题列的webpart具有值

时间:2013-06-12 14:39:26

标签: visual-studio-2010 sharepoint datatable web-parts splist

我正在尝试使用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生成的网站上有一个表,但它只有标题列显示正确的值,然后是两列,我添加了标题,但里面没有值。感谢您抽出宝贵时间考虑我的问题。

1 个答案:

答案 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();

只需绑定要显示的列即可完成。