我有一个在foreach循环中运行的数据表,在多个sahrepoint网站上获取站点使用信息。我希望能够在每个foreach迭代旁边添加一个列添加网站网址,我只能弄清楚如何添加一个新行,使网站网址显示在条目下方。像所以:
如何让网址进入上面的行?
我的代码如下:
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
答案 0 :(得分:1)
为什么要向现有DataTable添加新行,而应将值设置为现有行。
e.g。
var CurRow = table.AsEnumerable().FirstOrDefault();
table.Columns.Add("url");
if (CurRow != null)
{
CurRow["url"] = url;
}