Gridview中实现求和统计功能

GridView加入自动求和求平均值小计效果图:解决方案:    
private double sum = 0; //取指定列的数据和,你要根据具体情况对待可能你要处理的是int
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){if (e.Row.RowIndex >= 0){sum += Convert.ToDouble(e.Row.Cells[6].Text);}else if (e.Row.RowType == DataControlRowType.Footer){e.Row.Cells[5].Text = "总薪水为:";e.Row.Cells[6].Text = sum.ToString();e.Row.Cells[3].Text = "平均薪水为:";e.Row.Cells[4].Text = ((int)(sum / GridView1.Rows.Count)).ToString();}}
后台全部代码:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Drawing;
public partial class Default7 : System.Web.UI.Page
{SqlConnection sqlcon;SqlCommand sqlcom;string strCon = "Data Source=(local);Database=北风贸易;Uid=sa;Pwd=sa";protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){bind();}}protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e){GridView1.EditIndex = e.NewEditIndex;bind();}protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e){sqlcon = new SqlConnection(strCon);string sqlstr = "update 飞狐工作室 set 姓名='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',家庭住址='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where 身份证号码='"+ GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";sqlcom = new SqlCommand(sqlstr, sqlcon);sqlcon.Open();sqlcom.ExecuteNonQuery();sqlcon.Close();GridView1.EditIndex = -1;bind();}protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e){GridView1.EditIndex = -1;bind();}public void bind(){string sqlstr = "select top 5 * from 编程中国社区";sqlcon = new SqlConnection(strCon);SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);DataSet myds = new DataSet();sqlcon.Open();myda.Fill(myds, "编程中国社区");GridView1.DataSource = myds;GridView1.DataKeyNames = new string[] { "身份证号码" };GridView1.DataBind();sqlcon.Close();}private double sum = 0; //取指定列的数据和protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){if (e.Row.RowIndex >= 0){sum += Convert.ToDouble(e.Row.Cells[6].Text);}else if (e.Row.RowType == DataControlRowType.Footer){e.Row.Cells[5].Text = "总薪水为:";e.Row.Cells[6].Text = sum.ToString();e.Row.Cells[3].Text = "平均薪水为:";e.Row.Cells[4].Text = ((int)(sum / GridView1.Rows.Count)).ToString();}}
}
前台:唯一的花头就是设置ShowFooter="True" ,否则默认表头为隐藏的!
<asp:GridView ID="GridView1" runat="server"    AutoGenerateColumns="False" CellPadding="3"  OnRowEditing="GridView1_RowEditing"OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" Font-Size="12px" OnRowDataBound="GridView1_RowDataBound" ShowFooter="True"  ><FooterStyle BackColor="White" ForeColor="#000066" /><Columns><asp:CommandField HeaderText="编辑" ShowEditButton="True" /><asp:BoundField DataField="身份证号码" HeaderText="编号" ReadOnly="True" /><asp:BoundField DataField="姓名" HeaderText="姓名"  /><asp:BoundField DataField="出生日期" HeaderText="邮政编码"  /><asp:BoundField DataField="家庭住址" HeaderText="家庭住址"  /><asp:BoundField DataField="邮政编码" HeaderText="邮政编码" /><asp:BoundField DataField="起薪" HeaderText="起薪"  /></Columns><RowStyle ForeColor="#000066" /><SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" /><PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left"  CssClass="ms-formlabel DataGridFixedHeader"/><HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" /></asp:GridView>

  

转载于:https://www.cnblogs.com/shangshen/p/3592197.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360078.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树莓派安装win10arm linux,在树莓派3B 上安装 Windows 10 ARM 版的方法

早先关注我们的朋友可能对《国外开发者尝试在树莓派3上运行Windows 10桌面版》有印象。本文转自 amatfan.com&#xff0c;文末视频来自 daveb778(感谢柠栀和刺分享)&#xff0c;给出了如何在树莓派3B上安装Windows10 ARM版&#xff0c;是的&#xff0c;这次并非IoT版&#xff0…

MVC中跳转到其他页面,并传参数

return RedirectToAction("MemberManager", "Shop", new { id Session["shopid"] }); MemberManager&#xff1a;页面的Action&#xff1b;Shop&#xff1a;Controller名称&#xff1b;id&#xff1a;要传的参数名&#xff1b;Session["…

ld-linux.so.2 重定向,Linux Shell脚本Ldd命令原理及使用方法

1、首先ldd不是一个可执行程序&#xff0c;而只是一个shell脚本2、ldd能够显示可执行模块的dependency&#xff0c;其原理是通过设置一系列的环境变量如下&#xff1a;LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、 LD_VERBOSE等。当LD_TRACE_LOADED_O…

各种触摸手势

轻按(UITapGestureRecognizer) -- 用一个或多个手指在屏幕上轻按。 按住(UILongPressGestureRecognizer) -- 用一个或多个手指在屏幕上按住。 轻扫(UISwipeGestureRecognizer) -- 用一个或多个手指沿特定方向轻扫。 张合(UIPinchGestureRecognizer) -- 张合手指以缩放对象。 旋…

宝塔linux取消登录,宝塔面板如何关闭安全入口

通过 SSH 终端关闭安全入口通过 SSH 终端连接rm -f /www/server/panel/data/admin_path.pl即可关闭宝塔 Linux 面板的安全入口&#xff0c;关闭之后的面板登录地址就是&#xff1a;http://服务器 IP:8888。不过关闭这个安全入口之后很难恢复&#xff0c;所以不建议关闭宝塔面板…

一种通过变量插值读取属性的方法

最近&#xff0c;我尝试在应用程序服务器中定义和读取全局属性。 在应用程序服务器中配置的此类属性的好处–可以在此服务器上部署的所有Web应用程序之间共享该属性。 每个部署的应用程序都可以读取同一属性&#xff0c;该属性仅在一个位置配置一次。 我试图做的是在值部分中包…

[ofbiz]设置任务计划(job),提示service_item已经传递

问题描述&#xff1a;设置任务计划(job)&#xff0c;提示service_item已经传递 解决办法&#xff1a; 红色框内不要填写&#xff0c;就可以了。"已经传递"是翻译的不准确&#xff0c;应该是"已过时"&#xff0c;所以不设置开始时间&#xff0c;或者开始时间…

c r语言中rank函数,R语言的常用函数

基本一、数据管理vector&#xff1a;向量 numeric&#xff1a;数值型向量 logical&#xff1a;逻辑型向量character&#xff1b;字符型向量 list&#xff1a;列表 data.frame&#xff1a;数据框c&#xff1a;连接为向量或列表 length&#xff1a;求长度 subset&#xff1a;求子…

mongodb查询内嵌文档

mongodb查询内嵌文档假设有这样一个文档&#xff1a;db.XXX.remove();db.XXX.insert({"id":1, "members":[{"name":"BuleRiver1", "age":27, "gender":"M"}, {"name":"BuleRiver2"…

问号在c语言中运算符,C# 运算符 ?、??、?: 各种问号的用法和说明

1、可空类型修饰符(?)&#xff1a;引用类型可以使用空引用表示一个不存在的值&#xff0c;而值类型通常不能表示为空&#xff0c;例如:string strnull;是正确的。int inull&#xff1b;编译器将报错。为了使值类型也可为空&#xff0c;可空类型出现了&#xff0c;可空类型使用…

Extjs不错的博客

http://www.cnblogs.com/fangsui/category/372751.html http://www.cnblogs.com/WangJinYang/tag/EXT.NET/ http://www.cnblogs.com/codelove/tag/Ext.NET/转载于:https://www.cnblogs.com/anbylau2130/p/3598429.html

cvi中c语言只保留两位小数,CVI编程常见问题与错误-2012.9

CVI编程常见问题或错误1.CVI编程时&#xff0c;在程序中插入函数的方法&#xff1f;如何了解该函数隶属那个函数库&#xff1f; (3)2.如何查看或者找到一个CVI或IMAQ Vision的函数&#xff1f; (4)3.实验一不能显示曲线—采用了错误的显示控件 (5)4.实验一不能显示正弦曲线 (5)…

vector C++ 详细用法

vector是C标准模板库中的部分内容&#xff0c;它是一个多功能的&#xff0c;能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器&#xff0c;是因为它能够像容器一样存放各种类型的对象&#xff0c;简单地说&#xff0c;vector是一个能够存放任意类型的…

c#枚举类似于java_如何在Java中获得类似于C的性能

c#枚举类似于java总览 Java有许多可能很慢的领域。 但是&#xff0c;对于每个问题都有解决方案。 许多解决方案/黑客都需要解决Java的保护问题&#xff0c;但是如果您需要低水平的性能&#xff0c;还是可以的。 Java使高级编程变得越来越容易&#xff0c;但代价是使低级编程变…

c支限界算法语言n皇后问题分,n皇后问题(分析)

这道题需要用到回溯算法&#xff0c;现在在这里先简单的介绍一下这个算法&#xff1a;回溯算法也叫试探法&#xff0c;它是一种系统地搜索问题的解的方法。回溯算法的基本思想是&#xff1a;从一条路往前走&#xff0c;能进则进&#xff0c;不能进则退回来&#xff0c;换一条路…

oracle instr查询字符串

INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中&#xff0c;instr函数返回要截取的字符串在源字符串中的位置。只检索一次&#xff0c;就是说从字符的开始 到字符的结尾就结束。 语法如下&#xff1a; instr( string1, string2 [, start_position [, nth_…

android系统相机自动录像,android 调用系统相机录像并保存

1、在AndroidManifest.xml中添加如下代码tools:ignore"ProtectedPermissions" />android:authorities"${applicationId}.provider"android:name"android.support.v4.content.FileProvider"android:exported"false"android:grantUri…

【原创】jpgraph中文乱码问题的解决

php jpgraph库非常强大&#xff0c;可以在后台生成图片 后台生成在需要导出图表型报告的时候非常有用&#xff0c;当然&#xff0c;前端的可视化还是要用highcharts/echarts/anycharts等类库 比较麻烦的是中文乱码问题&#xff0c;有3个地方乱码&#xff1a; legendsetStickLab…

getstring方法android,JSON中optString和getString方法的区别

JSON中optString和getString方法的区别更新时间&#xff1a;2017年07月07日 15:18:24 投稿&#xff1a;mrroptString方法会在对应的key中的值不存在的时候返回一个空字符串&#xff0c;但是getString会抛一个JSONException 。下面通过一段代码给大家介绍JSON中optString和get…

QT+vs2010下改变可执行程序的图标

原地址&#xff1a;http://blog.163.com/tijijun126/blog/static/6820974520134209457308/ 在解决方案下面的工程里&#xff0c;点击右键-》选择【添加&#xff08;D&#xff09;】-》选择【资源&#xff08;R&#xff09;】-》选择【Icon】-》新建/导入就可以了。转载于:https…