编辑数据表C#中的一行

时间:2014-03-03 04:44:51

标签: c# sharepoint data-binding datatable

我有一个在foreach循环中运行的数据表,在多个sahrepoint网站上获取站点使用信息。我希望能够在每个foreach迭代旁边添加一个列添加网站网址,我只能弄清楚如何添加一个新行,使网站网址显示在条目下方。像所以:

Data Table

如何让网址进入上面的行?

我的代码如下:

   SPListItemCollection items = list.GetItems(query);
                    DataTable aggregatedTable = new DataTable();
                    foreach (SPListItem item in items)
                    {
                        string url = item["SiteUrl"].ToString();
                        try
                        {
                            using (SPSite siteadd = new SPSite(url))
                            using (SPWeb webadd = siteadd.OpenWeb())
                            {
                                //


                                DataTable table = webadd.GetUsageData(Microsoft.SharePoint.Administration.SPUsageReportType.browser, Microsoft.SharePoint.Administration.SPUsagePeriodType.lastMonth);
                                table.Columns.Add("url");
                                if (table == null)
                                {
                                    //  HttpContext.Current.Response.Write("Table Null");
                                }
                                else
                                {

                                    DataRow dr;

                                    dr = table.NewRow();
                                    dr["url"] = url;
                                    table.Rows.Add(dr);

                                   // table.Rows.Add(url);



                                    aggregatedTable.Merge(table);//Append the data to previous site data.
                                }
                            }
                        }
                        catch { }
                    }
                    dataGridView1.DataSource = aggregatedTable;//bind datatable with 

1 个答案:

答案 0 :(得分:1)

为什么要向现有DataTable添加新行,而应将值设置为现有行。

e.g。

var CurRow = table.AsEnumerable().FirstOrDefault();
        table.Columns.Add("url");
        if (CurRow != null)
        {
            CurRow["url"] = url;
        }