我现在从数据库中查询绑定数据到gridview中去
在数据库中数据是没有对Income列做统计的,现在有没有什么办法,我现在是想查询到数据后,在添加新行(对Income做统计),然后在绑定到控件中显示出来
,类似效果如下:
1.后台用datatable或者list,循环将income的值相加,若是用datatable,在datatable新加一列数据,存放income的和
2.在前台可以通过JavaScript,获取表格,遍历表格的income列,相加,最后append一列数据
假设你的数据是 iqueryable<TableIncome>
var query= dbContext.TableIncome.sum(c=> c.Income)
这样就是合计收入了。
你这问题问得,搞不清楚你是不懂合计还是不懂如何在控件中显示出来。
大叔,我现在就是两个简单的控件一个Gridview,另一个数据源控件SqlDataSource绑定上述数据,控件显示,后台没有写其他代码了,那我是如何在绑定的过程中就获取其列Income的合计,并将合计的值作为一个新列一起绑定到控件上去。
@一路在寻找: 简单说,就是你不想写代码。
其实不管是WINFORM还是WEB开发,对于你说的合计这种情况,通常都不是使用数据绑定也做的。
也确实不需要写代码。
通常是有控件能够直接帮你做这个事情。也就是说你只需要给表格数据。合计一行是控件能够帮你做的。
如果你不使用这类控件,当然就必须自己写代码,
不管是DataTable, 还是LINQ的IQueryable或者是Json数据,就是不同的代码来实现合计。
还是写点代码吧~
首先,不知道你这个是web应用还是desktop应用。
其次,你的需求,确实描述不清楚,最好能举例场景。
你是控件直接绑定sql数据源?这样肯定不能直接操作了啊
恩,控件貌似不能这么干,现在是已经写代码来实现了!
@一路在寻找: 我用的mysql数据库,从最开始接触数据控件时绑定数据源就不成功,所以所有的数据操作都是代码写出来,各种数据绑定操作都可以实现。需要的话给你一个数据库操作功公共类,直接调用,免得你到处去找资料。希望对你有用!
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.HtmlControls; 7 using System.Web.UI.WebControls; 8 using System.IO; 9 using MySql.Data.MySqlClient; 10 using System.Data; 14 15 /// <summary> 16 /// DB 的摘要说明 17 /// </summary> 18 public class DB : System.Web.UI.Page 19 { 20 21 public DB() 22 { 23 // 24 // TODO: 在此处添加构造函数逻辑 25 // 26 27 } 28 public MySqlConnection GetCon() 29 { 30 return new MySqlConnection(ConfigurationManager.AppSettings["ConnectionString"].ToString()); 31 } 32 public int sqlEx(string cmdstr) 33 { 34 MySqlConnection con = GetCon(); 35 con.Open(); 36 MySqlCommand cmd = new MySqlCommand(cmdstr, con); 37 try 38 { 39 cmd.ExecuteNonQuery(); 40 return 1; 41 } 42 catch (Exception e) 43 { 44 return 0; 45 } 46 finally 47 { 48 con.Dispose(); 49 } 50 } 51 public DataTable reDt(string cmdstr) 52 { 53 MySqlConnection con = GetCon(); 54 MySqlDataAdapter da = new MySqlDataAdapter(cmdstr, con); 55 DataSet ds = new DataSet(); 56 da.Fill(ds); 57 return (ds.Tables[0]); 58 59 } 60 public DataSet reDt1(string cmdstr) 61 { 62 MySqlConnection con = GetCon(); 63 MySqlDataAdapter da = new MySqlDataAdapter(cmdstr, con); 64 DataSet ds = new DataSet(); 65 da.Fill(ds); 66 return (ds); 67 } 68 public MySqlDataReader reDr(string str) 69 { 70 MySqlConnection con = GetCon(); 71 con.Open(); 72 MySqlCommand com = new MySqlCommand(str, con); 73 MySqlDataReader dr = com.ExecuteReader(CommandBehavior.CloseConnection); 74 return dr; 75 } 143 }
@slyvia230: 谢谢!
@一路在寻找: 你用的sql,直接将mysql的地方换成sql就行
你真的不想写代码的话,用DX控件吧,它的gridview可以自动统计,要统计哪列就哪列
<TotalSummary> <dx:ASPxSummaryItem FieldName="集成金额" SummaryType="Sum" DisplayFormat="{0}" /> <dx:ASPxSummaryItem FieldName="设备金额" SummaryType="Sum" DisplayFormat="{0}" />