这是合并单元格的一个简单例子,你可以参考 int row=0; for (int i = 1; i < GridView1.Rows.Count; i++) { if (GridView1.Rows[i].Cells[0].Text == GridView1.Rows[i - 1].Cells[0].Text) { GridView1.Rows[row].Cells[0].RowSpan++; GridView1.Rows[i].Cells[0].Visible = false; } else { GridView1.Rows[row].Cells[0].RowSpan++; row = i; } } GridView1.Rows[row].Cells[0].RowSpan++;
当然遍历单元格可以这么做。 我想最好用datatable的函数或者linq来操作
不能这么弄,他们是从sap里拉出的excel,我们只能读excel,操作datatable
当然遍历单元格可以这么做。 我想最好用datatable的函数或者linq来操作
var query = from row in table1.AsEnumerable() group row by new { Material1 = row["Material1"], Material2 = row["Material2"], Document = row["Document"] } into groupData from gd in groupData select new { Material1 = groupData.Key.Material1, Material2 = groupData.Key.Material2, Document = groupData.Key.Document, W0513 = gd["W0513"], W0613 = gd["W0613"] };补齐剩下的列
刚才的没有求和 var query = from row in table1.AsEnumerable() group row by new { Material1 = row["Material1"], Material2 = row["Material2"], Document = row["Document"] } into groupData from gd in groupData select new { Material1 = groupData.Key.Material1, Material2 = groupData.Key.Material2, Document = groupData.Key.Document, W0513 =groupData.Sum(row=>(decimal)row["W0513"]), W0613 = groupData.Sum(row=>(decimal)row["W0613"] };
int row=0;
for (int i = 1; i < GridView1.Rows.Count; i++)
{
if (GridView1.Rows[i].Cells[0].Text == GridView1.Rows[i - 1].Cells[0].Text)
{
GridView1.Rows[row].Cells[0].RowSpan++;
GridView1.Rows[i].Cells[0].Visible = false;
}
else
{
GridView1.Rows[row].Cells[0].RowSpan++;
row = i;
}
}
GridView1.Rows[row].Cells[0].RowSpan++;
我想最好用datatable的函数或者linq来操作
我想最好用datatable的函数或者linq来操作
group row by new { Material1 = row["Material1"], Material2 = row["Material2"], Document = row["Document"] } into groupData
from gd in groupData
select new { Material1 = groupData.Key.Material1, Material2 = groupData.Key.Material2, Document = groupData.Key.Document, W0513 = gd["W0513"], W0613 = gd["W0613"] };补齐剩下的列
var query = from row in table1.AsEnumerable()
group row by new { Material1 = row["Material1"], Material2 = row["Material2"], Document = row["Document"] } into groupData
from gd in groupData
select new { Material1 = groupData.Key.Material1, Material2 = groupData.Key.Material2, Document = groupData.Key.Document, W0513 =groupData.Sum(row=>(decimal)row["W0513"]), W0613 = groupData.Sum(row=>(decimal)row["W0613"] };