foreach循环DataRow,先设置个初始值float sumNum = 0,循环一条插入另外一个表里(这里是为了防止DataRow条数变化后DataRow循环容易出错),每次循环的DataRow["B"]值上一条比较(第一次循环与初始值0比较),相等的话累加sumNum,不等的话多加一条DataRow["A"](s,t,n,p)+"小计"和对应的sumNum值,循环完了把新产生的表用DataView排序,再用DataGrid绑定就行了。
解决方案 »
- 反射动态调用程序集时,出现“当前线程不在单线程单元中,因此无法实例化 ActiveX 控件”错误,怎么解决
- ListBox 实现快速查询(C#)
- 求救...
- C# 一段程序怎么编译成dll文件
- offic配置错误
- 如何将Shift-JIS编码转换为字符?
- XML TO DataSet 问题,江湖告急
- 最近想做一个MP3播放功能的小程序.想给控件加上图标不知道是怎么做的....请大虾指点
- 返回鼠标位置,怎么没有回答啊!~~~~~~~~?
- C# Fans 联合起来共同学习!!
- 如何进行word和pdf文档到普通文本的转换
- 50分求帮忙,为什么在把dataset表update数据库表时候说表对象名无效?看下面代码谢谢
myDataTable.Columns.Add(new DataColumn("A", typeof(string)));
myDataTable.Columns.Add(new DataColumn("B", typeof(int)));
myDataTable.Rows.Add(new object[] {"s", 1});
myDataTable.Rows.Add(new object[] {"s", 2});
myDataTable.Rows.Add(new object[] {"s", 3});
myDataTable.Rows.Add(new object[] {"s", 4});
myDataTable.Rows.Add(new object[] {"t", 1});
myDataTable.Rows.Add(new object[] {"t", 2});
myDataTable.Rows.Add(new object[] {"t", 3});
myDataTable.Rows.Add(new object[] {"o", 1});
myDataTable.Rows.Add(new object[] {"o", 2});
myDataTable.Rows.Add(new object[] {"o", 3});
myDataTable.Rows.Add(new object[] {"o", 4});
myDataTable.Rows.Add(new object[] {"o", 5}); DataTable newDataTable = new DataTable();
newDataTable.Columns.Add(new DataColumn("A", typeof(string)));
newDataTable.Columns.Add(new DataColumn("B", typeof(int))); int sumNum = 0;
string colAValue = "";
foreach(DataRow myDataRow in myDataTable.Rows)
{
if(colAValue == "" || colAValue == myDataRow[0].ToString() )
{
newDataTable.Rows.Add(new object[] {myDataRow[0].ToString(), myDataRow[1]});
sumNum += System.Convert.ToInt32(myDataRow[1]);
colAValue = myDataRow[0].ToString();
}
else
{
newDataTable.Rows.Add(new object[] {colAValue+"小计", sumNum});
newDataTable.Rows.Add(new object[] {myDataRow[0].ToString(), myDataRow[1]});
sumNum = System.Convert.ToInt32(myDataRow[1]); ;
colAValue = myDataRow[0].ToString();
}
}
newDataTable.Rows.Add(new object[] {colAValue+"小计", sumNum}); this.dataGrid1.DataSource = newDataTable;上面代码我试过,可以的,前提是你的Table已经按要求排序好了。就是你列出得那种排序规则。