解决方案 »
- 如何在PivotGrid利用rowarea和ColumnArea取值?
- 严重问题 C#语言怎么在向TXT文件写入数据的时候,在取文件中的行数呢??
- winform中怎么调用shellexecute,急!!!
- 小麻烦
- wpf Expander 重命名
- 高手过来看一下这该怎么写啊,谢谢了。
- 配置select语句里的“高级” 生成insert,update,delete语句这个选项是灰的,不能选
- 求教大虾:dll注册问题?
- 如何读文件内容存入数据库IMAGE字段?
- 在C#中用数据流可以读word文件的问题
- C#中的Validating处理方法
- 寻找控件?拥有类似PropertyGrid功能,外形类似ListView,这样可以批量修改
select a字段,xx,xx,xx from tablename
union
select sum(a字段),自己随便写个直吧,自己随便写个直吧,自己随便写个直吧 from tablename.
我这样给你举个例子吧:
现在我用gridview显示每个学生的各科成绩。然后最后面一行显示所有学生的各科的总分: C# Code:
public void UserBind() //首先绑定数据
{
SqlConnection con = null;
try
{
con = new SqlConnection("server=WWW-F52A5D25D6C\\SQLEXPRESS;database=testSql;uid=sa;pwd=123");
con.Open();
string sql = "select * from StudentExam";
DataTable d = new DataTable();
SqlDataAdapter dt = new SqlDataAdapter(sql, con);
dt.Fill(d);
/*查询出所有学生的语文考试得分的总和*/
string sql1 = "select sum(Chinese) from StudentExam";
SqlDataAdapter dt1=new SqlDataAdapter(sql1,con);
DataTable dChineseSum = new DataTable();
dt1.Fill(dChineseSum);
/*查询出所有学生英语考试得分的总和*/
string sql2 = "select sum(English) from StudentExam";
SqlDataAdapter dt2 = new SqlDataAdapter(sql2, con);
DataTable dEnglish = new DataTable();
dt2.Fill(dEnglish); //给最后一行的总分合计赋值
//给表追加最后一行;
DataRow dtr = d.NewRow();
dtr["name"] = "总分合计";
dtr["Chinese"] = dChineseSum.Rows[0][0].ToString(); //语文
dtr["English"] = dEnglish.Rows[0][0].ToString(); //英语
d.Rows.Add(dtr);
d.AcceptChanges();
this.GridView1.DataSource = d.DefaultView;
this.GridView1.DataBind();
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
finally
{
if (con != null)
{
con.Close();
}
}
}这其实跟楼上的大哥们的意思 是差不多的。
就用sql语句查询出各科的分数和。 然后 在在绑定之前追加一行。然后绑定就行了!
你最好不要循环遍历gridview,这样效率很低了!我上面的例子随手写的。呵呵,没太注重代码重用!
希望这样能帮到你!
倒数第十四行的 this.GridView1.DataBind();
后面的DataBind(); 方法好像不对哦。调试是成功的 可是最后的运行的 结果却是没有显示出行的运算= = 可是看看么。。