WinForm中DataGrid列合计问题? 我的DataGrid绑定了一个数据源,怎么样才能实现下面的效果?? 商品编号 商品名称 数量 单价 金额 001 AA 10 10 100 002 BB 5 20 100 合计 15 200 这个合计要怎么弄上去?解决后马上给分!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你的数据源都已经绑定好了,但还是没有显示数据库表中的列表框,你应该试着加一条语句sqlDataAdatperTable.Fill(dataSetTable);注: Table 为你选中的那张表,相应修改,应该就没问题了~! 这个是webform中的 不知可参考不http://www.dotnetjunkies.com/Tutorial/2F527E21-A6C5-497A-8B56-4150BDAF711D.dcik或者你可以当DataGrid绑定后遍历他每个行 把希望合计的列加出来 给Label就可以了 手工加之前只有自己计算了,我用Compute()函数计算不出来,郁闷!!有没有解决办法啊,这个问题已经困扰我很久了 贴出部分代码,希望大家踊跃发表高见try { for(int i=0;i<Rs.Rows.Count;i++) { //MessageBox.Show(Rs.Rows[i]["required"].ToString()); if(Rs.Rows[i]["dataarea"].ToString() == "0" && (bool)Rs.Rows[i]["required"] == true) { switch( Rs.Rows[i]["fieldname"].ToString()) { case "数量": //newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(decimal)); //break; case "单价": //newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(decimal)); //break; case "金额": newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(decimal)); //newTable.Columns[i].Expression = "newTable.Columns['数量'] * newTable.Columns['单价']"; break; default: newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(string)); break; } } } //newTable.Columns["金额"].Expression = "数量*单价"; } catch(Exception f) { MessageBox.Show(f.ToString()); } //DataRow sum = newTable.NewRow(); //newTable.Rows.Add(sum); newTable.DefaultView.AllowNew = false; for(int i = 0 ;i<20;i++) { newTable.Rows.Add(newTable.NewRow());; } //增加合计行// DataRow sum = newTable.NewRow(); sum[0] = "合计"; sum["数量"] = newTable.Compute("Sum(数量)","true"); sum["金额"] = 2000; newTable.Rows.Add(sum); //增加合计行 我的是C/S,不是webform,那个Compute()函数计算不出来,高手现身啊! Sample code as follows:// Get summary firstobject objSum = newTable.Compute("Sum(数量)", null );// Add new rowDataRow sum = newTable.NewRow();sum[0] = "合计";sum["数量"] = objSum.ToString();sum["金额"] = 2000;newTable.Rows.Add(sum); 水晶报表的打印,急 C#新建窗体调用主窗体数据内容 时有时无的问题! 已有与此命令相关联的 DataReader,必须首先将关闭 C# 删除td sql2005 中 给 image类型个默认值 怎样实现用JS多次绑定gridview 求助一个问题, Entity Framework中数据验证的问题 C#中的事件发生器 在VS.net2003里用ATL开发一个COM对象,我必须手动添加一个接口吗 NET未来 各位高手帮帮忙
sqlDataAdatperTable.Fill(dataSetTable);注:
Table 为你选中的那张表,相应修改,应该就没问题了~!
http://www.dotnetjunkies.com/Tutorial/2F527E21-A6C5-497A-8B56-4150BDAF711D.dcik或者你可以当DataGrid绑定后遍历他每个行 把希望合计的列加出来 给Label就可以了
try
{
for(int i=0;i<Rs.Rows.Count;i++)
{
//MessageBox.Show(Rs.Rows[i]["required"].ToString());
if(Rs.Rows[i]["dataarea"].ToString() == "0" && (bool)Rs.Rows[i]["required"] == true)
{
switch( Rs.Rows[i]["fieldname"].ToString())
{
case "数量":
//newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(decimal));
//break;
case "单价":
//newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(decimal));
//break;
case "金额":
newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(decimal));
//newTable.Columns[i].Expression = "newTable.Columns['数量'] * newTable.Columns['单价']";
break;
default:
newTable.Columns.Add(Rs.Rows[i]["fieldname"].ToString().Trim(),typeof(string));
break;
}
}
} //newTable.Columns["金额"].Expression = "数量*单价";
}
catch(Exception f)
{
MessageBox.Show(f.ToString());
}
//DataRow sum = newTable.NewRow();
//newTable.Rows.Add(sum);
newTable.DefaultView.AllowNew = false;
for(int i = 0 ;i<20;i++)
{
newTable.Rows.Add(newTable.NewRow());;
} //增加合计行//
DataRow sum = newTable.NewRow();
sum[0] = "合计";
sum["数量"] = newTable.Compute("Sum(数量)","true");
sum["金额"] = 2000;
newTable.Rows.Add(sum);
//增加合计行
object objSum = newTable.Compute("Sum(数量)", null );// Add new row
DataRow sum = newTable.NewRow();
sum[0] = "合计";
sum["数量"] = objSum.ToString();
sum["金额"] = 2000;
newTable.Rows.Add(sum);