将 VS2012 中的 GridView 表填充为带有 SPList Only Title 列的 webpart 具有值
Posted
技术标签:
【中文标题】将 VS2012 中的 GridView 表填充为带有 SPList Only Title 列的 webpart 具有值【英文标题】:Populating a GridView table in VS2012 as webpart with SPList Only Title column has value 【发布时间】:2013-06-08 17:35:42 【问题描述】:我正在尝试使用 SP2010 网站中的列表填充 gridview 表,作为要在不同 SP 网站上使用的 web 部件。到目前为止我的代码是:
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】:您可以将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();
只需绑定要显示的列即可。
【讨论】:
以上是关于将 VS2012 中的 GridView 表填充为带有 SPList Only Title 列的 webpart 具有值的主要内容,如果未能解决你的问题,请参考以下文章
任务计划程序 2.0 将当前计划任务填充到 WPF GridView