将 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

GridView 访问数据源

如何将gridview中的货币四舍五入为有效数字?

GridView 中的 C# HTML 标签

asp.net如何实现 打印gridview中的数据,打印之前要预览设置打印页面,我使用vs2010,C#语言

iOS 上的 Pinterest Gridview 实现