一、关联窗体数据更新

关联窗体数据修改时,如果一个为总体数据显示窗体A,另一个为详细修改窗体B,从A进入B,在B中对数据进行修改,然后返回A,这时A窗体的数据需要更新。

我采用最简单的方法,首先保证每个窗体只有一个(网上代码很多),每次激活窗体时就重新载入数据,从A进入B的代码如下:

#region 激活或创建用户管理层面bool isExit = false;foreach (Form childFrm in this.MdiParent.MdiChildren){//用子窗体的Name进行判断,如果已经存在则将他激活if (childFrm.Name == "Form_UserManage"){if (childFrm.WindowState == FormWindowState.Minimized)childFrm.WindowState = FormWindowState.Normal;childFrm.Activate();isExit = true;}}if (isExit == false){// 如果该窗体不存在则新生成一个库存查询窗体Form_UserManage newFrm = new Form_UserManage();newFrm.MdiParent = this.MdiParent;newFrm.Show();}this.Close();#endregion

也可以让B成为模式窗体,比较简单。上面A和B是独立的两个窗体,都在同一级菜单下时使用较好。  

一、删除dataGridview中选中的一行或多行

参考博文:http://blog.sina.com.cn/s/blog_8b94db9c01015yim.html

DialogResult RSS = MessageBox.Show(this,"确定要删除选中行数据码?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
switch(RSS)
{
case DialogResult.Yes:
for (int i = this.dataGridView1.SelectedRows.Count; i > 0; i--)
{
int ID = Convert.ToInt32(dataGridView1.SelectedRows[i - 1].Cells[0].Value);
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i - 1].Index);
//使用获得的ID删除数据库的数据
string SQL = "delete from UserInfo where UserId='"+ID.ToString()+"'";
int s =Convert.ToInt32(cl.Execute(SQL)); //cl是操作类的一个对像,Execute()是类中的一个方法
if (s!=0)
{
MessageBox.Show("成功删除选中行数据!");
}
}
break;
case DialogResult.No:
break;
}

 在上面代码中,需要按照dataGridview中的列下标进行筛选,如果是删除就进行删除,否则就不进行删除。操作时发现下标编号默认是文本框是编号【1,2,3】,行中有button,button编号【1,2,3】,这时按列来确定是否是选择的内容时就会出错。后来发现是dataGridview初始化时少了一个属性:

this.dgv_AllUsers.AutoGenerateColumns = false;

添加上这行代码后可以按照统一下标操作。郁闷了半天才找到原因。

  #region 删除选中的行string buttonText = this.dgv_AllUsers.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();//int CIndex = e.ColumnIndex;//按钮所在列为第五列,列下标从0开始的  if (buttonText == "删除"){//获取在同一行第一列的单元格中的字段值  string _UID =this.dgv_AllUsers[0, e.RowIndex].Value.ToString();string _Uname = this.dgv_AllUsers[1, e.RowIndex].Value.ToString();//MessageBox.Show(_UID.ToString());DialogResult RSS = MessageBox.Show(this, "确定要删除选中行( ID为" + _UID + ":,名称为:" + _Uname + " )的数据码?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);switch (RSS){case DialogResult.Yes:jinlongDLL.DBHelper db = new DBHelper();string SQL = "delete from users where id='" + _UID + "';";int s = db.ExecuteSql(SQL);if (s != 0){MessageBox.Show("成功删除选中行数据!");}dgv_AllUsers_Init();//载入用户数据break;case DialogResult.No:break;}}#endregion

  

转载于:https://www.cnblogs.com/wuling129/p/5458742.html

winform代码:关联窗体数据更新,删除dataGridview中选中的一行或多行相关推荐

  1. pandas使用dropna函数删除dataframe中所有包含缺失值的数据行(drop rows which contain missing vlaues in dataframe)

    pandas使用dropna函数删除dataframe中所有包含缺失值的数据行(drop rows which contain missing vlaues in dataframe) 目录

  2. dtgrid 手动条件删除表格中的某一行

    dtgrid 手动条件删除表格中的某一行 var grid = $.fn.DtGrid.init(dtGridOption);$(function () {grid.load();});functio ...

  3. 批量删除 txt 记事本文本文件中的某一行或一些行

    概要:我们有时候需要批量删除 txt 记事本文本文件中的某一行或者一些行,有没有一种快速的方式,能够让我们批量的删除记事本文本文件中的这些行呢?现在给大家介绍一种简单的方法,去批量的删除记事本文本文件 ...

  4. js动态删除表格中的某一行

    js动态删除表格中的某一行 <!DOCTYPE html> <html lang="en"> <head><meta charset=&q ...

  5. DataGridView中的rows.Count比实际行数多1的原因以及解决办法

    场景 DataGridView怎样实现添加.删除.上移.下移一行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10281414 ...

  6. 列注释_【EXCEL检查问题】:如何快速检查并删除EXCEL中隐藏的工作表、行、列等信息...

    前注:本案例是以EXCEL2016为示范软件,各版本的部分功能和路径可能不同 在EXCEL使用过程中,你是否遇到过某一列的公式怎么修改都报错的情况?你是否遇到过一个只有区区几行数据的表格,却占用了好几 ...

  7. pyspark 条件_删除pyspark中特定条件下的特定行

    我是火花的新手 . 我想删除一行使用spark sql.due来删除temptable中的不兼容性到目前为止我已经读过,操作删除像sql查询我需要永久保存pyspark中的表,这是hive表我猜 . ...

  8. Winform中DataGridView中添加数据并且拖动整行

    dgv_senceConfig_sence是DataGridView控件的名称: 这是整段代码的逻辑比较多,需要用户自己去选择,这个可以实现添加数据和拖动整行(肯定实现了) using Control ...

  9. python删除文本最后一行_用python删除文件中的最后一行

    如何用python删除文件的最后一行? 输入文件示例: hello world foo bar 输出文件示例: hello world foo 我创建了以下代码来查找文件中的行数,但是我不知道如何删除 ...

最新文章

  1. Linux zip-tar.gz 压缩解压
  2. Java程序员面试中的多线程问题
  3. 1337:【例3-2】单词查找树
  4. 委托的BeginInvoke和EndInvoke
  5. ABP框架v2.0 和 ABP商业版
  6. 【李宏毅机器学习】Gradient Descent_1 梯度下降(p5、p6、p7 )学习笔记
  7. 2017.4.16 阶乘之和 思考记录
  8. 苹果公司反诉堡垒之夜开发商Epic,寻求惩罚性赔偿
  9. Sharding-JDBC水平分表(最终测试)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记009
  10. 小米8 android9手势,当小米8SE遇到安卓9.0,体验提升一个等级!
  11. 黑马python培训全套视频
  12. ipad 邮箱服务器端口,ipad邮箱设置,牛排,YAHOO邮箱(后缀为yahoo
  13. A Game of Thrones(82)
  14. ANDROID中的VOLD分析
  15. NASA的开源项目介绍
  16. git 修改倒数二个 commit
  17. 浅谈cocos2d游戏中天气系统的简单实现
  18. 酷q插件开发Java,CQ-HTTP-TO-CQ-FOR-JAVA
  19. stm32外部中断模式控制灯亮灭
  20. abaqus对应python版本_abaqus with python 小问题罗列(持续更新)

热门文章

  1. 嵌入式学习笔记-LM75温度传感器驱动总结
  2. oracle存储过程00054,oracle执行存储过程报错:ORA-12011
  3. 西南交通大学计算机专硕调剂,2019年西南交通大学接收调剂信息
  4. java consumer_Java 8 Consumer接口
  5. word中如何删除顽固的空白页?
  6. 【 Vivado 】输入延迟约束实例
  7. JAVA RPC:从上手到爱不释手
  8. java 调用mysql存储过程
  9. django-admin 设计User外键,设计model
  10. python 获取主机名 根据端口杀死进程