DataGridView的DataGridViewCheckBox问题

datagridview有一列DataGridViewCheckBox,但连续点击的话(1秒点击N次),会导致出错,数据处理不正确,感觉

private void dgv_CellContentClick(object sender,
DataGridViewCellEventArgs e) {}的没处理完,一般处理方法就是再加个doubleclick事件

private void dgv_CellContentDoubleClick(object sender,
DataGridViewCellEventArgs e) {

dgv_CellContentClick(sender, e);

dgv_CellContentClick(sender, e);

}

上面一般能解决问题,但是我在实际过程中还是有点问题,所以我会用下面的方法

private void dgv_CellContentDoubleClick(object sender,
DataGridViewCellEventArgs e) {

dgv_CellContentClick(sender, e); //只执行一次

}

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

private
void dgv_CellContentClick(object
sender, DataGridViewCellEventArgs e)

       {

           try

           {

               dgv.Enable = false;

               ........

           }

           catch
(Exception ex)

           {

           }

           finally

           {

               dgv.Enable = true;

           }

       }

  

时间: 2024-10-13 00:14:03

DataGridView的DataGridViewCheckBox问题的相关文章

DataGridView key points

Class generator for DataGridView => A class for simplify Databinding. DataGridView use SelectionChanges(...) for row selection. DataGridViewComboBoxColumn => DataSource = object; DisplayMember = ""; ValueMember = ""; DataProperty

在DataGridView控件中实现冻结列分界线

我们在使用Office Excel的时候,有很多时候需要冻结行或者列.这时,Excel会在冻结的行列和非冻结的区域之间绘制上一条明显的黑线.如下图: (图1) WinForm下的DataGridView控件也能实现类似的冻结行或者列的功能(参见:http://msdn.microsoft.com/zh-cn/library/28e9w2e1(VS.85).aspx) ,但是呢,DataGridView控件默认不会在冻结列或者行的分界处绘制一个明显的分界线,这样的话,最终用户很难注意到当前有列或者

将Excel导入DataGridView 中的"select * from [Sheet1$]"中[ ]里面表单名的动态获取

Sheet1$是Excel默认的第一个表名,如果改动:select * from [Sheet1$]"将查询失败,因此应根据选择自动获取excel表名: 1 OpenFileDialog ofd = new OpenFileDialog(); //选择文件路径 2 ofd.Title = "Excel文件"; 3 ofd.FileName = ""; 4 ofd.Filter = "Excel文件(*.xls)| *.xls"; 5 s

C# DataGridView 对指定行文字加粗实现阅读标记

在使用DataGridView控件放置通知等信息时,会遇到标记"已读"."未读"的问题.通过SQL语句查询出的结果中,"已读"."未读"会被放在一个专门的字段(DataGridView的列)中用来标记这个 条目的阅读情况.本文的目标就是要做到在显示上区分当前用户已读和未读的条目. 1.准备工作 建立一个C#窗体应用程序,里面放置一个Dock属性设置为Full的DataGridView 2.程序代码 在Load函数中,模拟生成了

DataGridView

1.DataGridView可以直接指定数据源,可以指定的数据源有:集合,数组,数据库表 2.绑定数据源之后,控件会根据数据源生成对应的列结构 *如果数据源是集合,那么会根据集合类型的属性生成对应的列结构 *遍历集合的每一个对象,将对象的属性值填充到控件的对应的行的列中 *也就意味着,如果数据源是集合,那么控件中的每一个记录就是集合中的每一个对象

DataGridView学习记录(一)

1.如何默认创建一个DataGridview为默认单元格数(n行m列) // dataGridViewG1 // this.dataGridViewG1.AllowUserToAddRows = false; this.dataGridViewG1.AllowUserToDeleteRows = false; this.dataGridViewG1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeade

DataGridView控件绑定数据源

前言: 最近听说DataGridView控件能直接绑定数据源.而不用穿越这层那层的忍辱负重.获取数据.真是高兴的屁颠屁颠的.后来一想二狗肯定不会弄.特意写了一个笨蛋版的教程--也算记录生活.欢度端午了.粽子就不送给大家了.但是大家可以找我来要呦!数量有限送完为止!--chenchen --步骤 1 添加控件 2 添加数据源 中间过程就是点下一步就不截图了.最后选择的这个是每次连接获取数据库数据的表和表的字段 3 三个组件意思 Adapter控件:连接数据库获取数据 DataSet:存放获取好的数

C#中数据源绑定DataSource以及相关控件(DataGridView)的使用总结

我们在编程过程中,会涉及到表格数据的显示,存储等,就可能涉及到DataGridView,DataSource, DataTable等概念. 下面我就我自己模糊的一些知识点串讲以下: 1)首先我要讲的是一些控件: Control: 控件基类,有一个DataBindings对象,它是一个ControlBindingCollection类,这个类继承与BindingsCollection,里面有一个Binding的列表对象,其中Binding对象时一个记录了属性名,数据源,数据成员等的对象.还有个Bi

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

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.ToI