首页 新闻 会员 周边

关于gridview绑定显示数据

0
悬赏园豆:30 [已解决问题] 解决于 2014-10-11 10:16

我现在从数据库中查询绑定数据到gridview中去

 

 

在数据库中数据是没有对Income列做统计的,现在有没有什么办法,我现在是想查询到数据后,在添加新行(对Income做统计),然后在绑定到控件中显示出来

,类似效果如下:

草旅虫的主页 草旅虫 | 初学一级 | 园豆:165
提问于:2014-10-10 10:56
< >
分享
最佳答案
0

1.后台用datatable或者list,循环将income的值相加,若是用datatable,在datatable新加一列数据,存放income的和

2.在前台可以通过JavaScript,获取表格,遍历表格的income列,相加,最后append一列数据

收获园豆:20
秋壶冰月 | 大侠五级 |园豆:5903 | 2014-10-10 11:03
其他回答(5)
0

假设你的数据是 iqueryable<TableIncome>

var query= dbContext.TableIncome.sum(c=> c.Income)

这样就是合计收入了。

你这问题问得,搞不清楚你是不懂合计还是不懂如何在控件中显示出来。

收获园豆:10
爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-10 11:02

大叔,我现在就是两个简单的控件一个Gridview,另一个数据源控件SqlDataSource绑定上述数据,控件显示,后台没有写其他代码了,那我是如何在绑定的过程中就获取其列Income的合计,并将合计的值作为一个新列一起绑定到控件上去。

支持(0) 反对(1) 草旅虫 | 园豆:165 (初学一级) | 2014-10-10 11:18

@一路在寻找: 简单说,就是你不想写代码。

其实不管是WINFORM还是WEB开发,对于你说的合计这种情况,通常都不是使用数据绑定也做的。

也确实不需要写代码。

通常是有控件能够直接帮你做这个事情。也就是说你只需要给表格数据。合计一行是控件能够帮你做的。

如果你不使用这类控件,当然就必须自己写代码,

不管是DataTable, 还是LINQ的IQueryable或者是Json数据,就是不同的代码来实现合计。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2014-10-10 11:27
0

还是写点代码吧~

幻天芒 | 园豆:37175 (高人七级) | 2014-10-10 13:29
0

首先,不知道你这个是web应用还是desktop应用。

其次,你的需求,确实描述不清楚,最好能举例场景。

519740105 | 园豆:5810 (大侠五级) | 2014-10-10 13:34
0

你是控件直接绑定sql数据源?这样肯定不能直接操作了啊

slyvia_w | 园豆:139 (初学一级) | 2014-10-10 14:19

恩,控件貌似不能这么干,现在是已经写代码来实现了!

支持(0) 反对(0) 草旅虫 | 园豆:165 (初学一级) | 2014-10-10 14:20

@一路在寻找: 我用的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 }
支持(0) 反对(0) slyvia_w | 园豆:139 (初学一级) | 2014-10-10 14:38

@slyvia230: 谢谢!

支持(0) 反对(0) 草旅虫 | 园豆:165 (初学一级) | 2014-10-10 14:40

@一路在寻找: 你用的sql,直接将mysql的地方换成sql就行

支持(0) 反对(0) slyvia_w | 园豆:139 (初学一级) | 2014-10-10 14:44
0

你真的不想写代码的话,用DX控件吧,它的gridview可以自动统计,要统计哪列就哪列

 

 <TotalSummary>
                <dx:ASPxSummaryItem FieldName="集成金额" SummaryType="Sum" DisplayFormat="{0}" />
                <dx:ASPxSummaryItem FieldName="设备金额" SummaryType="Sum" DisplayFormat="{0}" />
风醉 | 园豆:1197 (小虾三级) | 2014-10-11 10:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册