我有一个看起来像这样的表:
Name Hours
Mark 10
Mark 15
Mark 10
Mark 13
Albert 11
Albert 12
Max 10
Max 13
此数据驻留在数据表中,该数据表是我的 gridview 的数据源。如果可能的话,我想遍历数据表并在名称字段更改时插入一行。像这样:
Name Hours
Mark 10
Mark 15
Mark 10
Mark 13
Albert 11
Albert 12
Max 10
Max 13
是否可以使用 foreach 循环遍历此数据表并在更改名称时在该点插入一行?或者,是否有另一种方法可以获得所需的结果?
感谢您的任何指点!
编辑:我的代码,到目前为止:
var counter = 0;
var holdName = "";
// looping through datatable dt.
foreach (DataRow row in dt.Rows)
{
//compare name from dt to hold name
//if different
// insert blank row
// change hold name to new name
//continue looping
}
gridview1.Datasource = dt;
gridview1.DataBind();
但问题是在循环中设置保持名称被证明是棘手的。就像它需要首先设置在循环的“外部”,然后在循环内进行检查。问题是,如果没有得到数据表中的第一条记录,我怎么知道名字是什么?也许,这就是我的答案?拿到第一条记录,把名字放到hold name变量里,然后开始foreach循环?