datagridview自动保存修改数据
使用到的对象:
1、 DataGridView: dataGridView1
2、 BindingNavigator: bindingNavigator1(自带添加按钮btnAdd、删除按钮btnDelete)
3、 ToolStripButton: btnCancelEdit(添加到bindingNavigator1之中)
使用到的事件:
/// <summary>/// 单元格的值改编后,执行更新、或插入操作;/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e){//如果关键字段"type",说明是在编辑新行的其它字段的值,不需要做如何操作;string typeTemp = dataGridView1.Rows[e.RowIndex].Cells["type"].FormattedValue.ToString();if (typeTemp == null || typeTemp.Trim().Length == 0) return;//string sqlStr = "select count(*) from Coupler where type='"+dataGridView1[0, e.RowIndex].FormattedValue.ToString() + "' ";if (ClsDataBaseOperator.execteCount(sqlStr) < 1){sqlStr = "insert into Coupler(type) values('" +dataGridView1[0, e.RowIndex].FormattedValue.ToString() + "')";ClsDataBaseOperator.executeGetLines(sqlStr);}else{sqlStr = "update Coupler set type='" + dataGridView1[0, e.RowIndex].FormattedValue.ToString() +"', PHS1900=" + dataGridView1.Rows[e.RowIndex].Cells["PHS1900"].FormattedValue.ToString() +", DCS1800=" + dataGridView1.Rows[e.RowIndex].Cells["DCS1800"].FormattedValue.ToString() +", GSM900=" + dataGridView1.Rows[e.RowIndex].Cells["GSM900"].FormattedValue.ToString() +", CDMA800=" + dataGridView1.Rows[e.RowIndex].Cells["CDMA800"].FormattedValue.ToString() +", other=" + dataGridView1.Rows[e.RowIndex].Cells["other"].FormattedValue.ToString() +", IsDefault=" + dataGridView1.Rows[e.RowIndex].Cells["IsDefault"].FormattedValue.ToString() + " where type='" + dataGridView1[0, e.RowIndex].FormattedValue.ToString() + "'";ClsDataBaseOperator.executeGetLines(sqlStr);}}/// <summary>/// 当有单元格进入编辑状态时,需要打开“撤销编辑”按钮的可点击状态;/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e){this.btnCancelEdit.Enabled = true;}/// <summary>/// 删除一条记录,删除表格的的当前行,并更新数据库;/// btnDelete为navigator自带的按钮,需要添加下面事件;/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnDelete_Click(object sender, EventArgs e){dataGridView1.Rows.Remove(dataGridView1.CurrentRow);string sqlStr = "delete from Coupler where type='" +dataGridView1.CurrentRow.Cells["type"].FormattedValue.ToString() + "' ";}/// <summary>/// 撤销修改/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnEdit_Click(object sender, EventArgs e){dataGridView1.CancelEdit();dataGridView1.EndEdit();}/// <summary>/// 添加新的一行;/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnAdd_Click(object sender, EventArgs e){dataGridView1.CurrentRow.Cells["PHS1900"].Value = "0";dataGridView1.CurrentRow.Cells["DCS1800"].Value = "0";dataGridView1.CurrentRow.Cells["GSM900"].Value = "0";dataGridView1.CurrentRow.Cells["CDMA800"].Value = "0";dataGridView1.CurrentRow.Cells["other"].Value = "0";dataGridView1.CurrentRow.Cells["type"].Selected = true;dataGridView1.CurrentCell = dataGridView1.CurrentRow.Cells["type"];}
datagridview自动保存修改数据相关推荐
- ABP天坑--UOW自动保存修改
ABP项目也做了挺久了,实际上也没碰上太多的问题,但这两天被ABP的自动保存修改(Automatically Saving Changes)这个天坑给恶心坏了 因为项目设计上的问题,原先为了方便加上环 ...
- SecureCRT自动保存窗口数据到文件,自动保存日志,每行添加时间戳
首先选中要保存的窗口,比如要保存Serial-COM5(1)的内容 右键"会话选项" 保存文件属性设置根据自己需要修改,主要就是设置好日志文件路径和文件名.修改完成点击确定. %S ...
- c# DataTable关联dataGridView创建与修改数据
c# DataTable关联dataGridView1创建修改数据 gridControl1.DataSource = dataTable; //关联DataSource,数据改变自动更新到表格(数据 ...
- 保存修改前后的数据历史记录
我公司最近要我开发销售退货/款单,其中就有编辑退货款时需要保存修改数据的历史记录.我也是一个新入职场的小白,研究了一上午终于解决了,若有不对的地方麻烦私聊找我.要求如图所示: 下面是我解决问题的代码: ...
- 草稿 修改数据 datagroupview
自动列的大小 更新的方法 保存 修改数据
- 修改数据 (通过页面修改数据库数据)
1.搭建自己的页面,根据自己实际需求自行搭建改动,在此不要求统一( *页面上内容已通过单表查询与数据库数据连接 *不会单表查询的可看我前面发表的文章这里就不重复 *注意布局时要加入模态框(如图二)) ...
- E3【数据可视化】【组件】基于Python+Flask+Echarts+HTML5拖放(DragDrop)实现的可拖放布局并自动保存布局的动态饼图
目录 一. 效果展示 二. 实现思路 所需知识点 三. 系统架构 四. 关键代码 1. 页面div布局 2. 布局拖放 drag drop 处理 3. 布局保存 4. Python Flask web ...
- 基于CSerialPort修改类的串口调试助手源代码(支持中文、自动保存等)
转自: http://blog.csdn.net/itas109/article/details/51337538 [最新修正版2016-05-07] http://blog.csdn.net/it ...
- php 保存表单数据,使用jquery和php自动保存表单数据
我对PHP非常好,但是使用jQuery的总菜单,并且卡在自动保存表单数据中. 自动保存功能在dummy.php中每30秒调用一次.我正在将用于处理的序列化表单数据( – >数据库)发送到save ...
最新文章
- guava中的Joiner
- est.java 2 错误 找不到符号_在命令行上用junit-4.12.jar和hamcrest-core-1.3.jar编译并运行测试?错误:是抽象的,无法实例化,找不到符号...
- centos7中置空一个文件的内容
- Boost:parallel grep测试程序
- 小邪在阿里的十年技术人生
- 全局变量及其含义php,php Server:php超全局变量Server的含义与用法示例
- Web后端学习笔记Flask(2)模板
- hp1008win7驱动问题
- DES 加密解密的通俗易懂
- 有家谱和没家谱,后人的差距真的很大!家谱用怎么样的形式完成传承
- Web mfw Writeup
- EndNote X9在Word插入参考文献时在工具来不显示,使用时显示服务器运行失败,和用国标GBT 7714遇到的错误
- 程序集版本号,文件版本号及发布版本号管理
- Java集合移除某个元素
- HZNUOJ 2058 凯撒密码
- 按揭贷款买房流程及注意事项详解 你准备好买房了吗
- App流量变现并不一定损害用户体验,这些方法你得了解
- java 月最后一个周日_java 获取上月、一个月最后一天、周一、周日、本月日期 【转】...
- 手机版PDF编辑器支持PDF转Word、文档内容编辑合并与提取
- 【系统管理】清理任务栏的已删除程序的图标缓存
热门文章
- 软考信息系统项目管理师_项目进度管理2---软考高级之信息系统项目管理师014
- C++_类和对象_C++多态_案例2_制作饮品---C++语言工作笔记073
- Vue打包发布项目---vue工作笔记0020
- 基于Spring Security的认证授权_认证原理_授权流程_Spring Security OAuth2.0认证授权---springcloud工作笔记126
- 网站制作---科讯万能搜索系统的简单实用教程
- 疫苗:Java HashMap的死循环(转)
- ubuntu+intellij IDEA+android环境配置
- win32开发(窗口类和窗口)
- html微软雅黑字体模糊,WinXP中微软雅黑字体模糊看得很吃力怎么解决
- Markdown编辑器的使用技巧