DataGridView的DataGridViewComboBoxColumn列点击一次,自动处于编辑状态
本文转载:http://www.cnblogs.com/Johnny_Z/archive/2012/02/12/2348235.html
Winform中的DataGridView数据绑定控件有时会用到ComboBox列,想要显示ComboBox列的内容需要点击两到三次才可以。这使操作变得很麻烦,降低了易用性,尤其是在程序部署在一些小型设备或者触摸屏设备上时,则更为不便。下面介绍两种方法解决这个问题。
首先,我们创建一个Windows应用程序,在窗体中拖拽一个DataGridView控件,命名为dataGridView。要确保该控件的“启用编辑”选项勾选。下面我们动态创建列,以及添加一行数据。写一个函数IniteDGV,在窗体Shown事件中调用函数。
private void IniteDGV(){DataGridViewComboBoxColumn combo = new DataGridViewComboBoxColumn();combo.HeaderText = "comboBox列";combo.Name = "combo";combo.Width = 80;combo.DataSource=(new string[] { "0", "1", "2" });DataGridViewTextBoxColumn textbox = new DataGridViewTextBoxColumn();textbox.HeaderText = "textbox列";textbox.Name = "textbox";textbox.Width = 100;dataGridView.Columns.AddRange(combo, textbox);DataGridViewRow row = new DataGridViewRow();dataGridView.Rows.Add(row);if (dataGridView.Columns.Contains("combo") ){row.Cells["combo"].Value = "0";}}
View Code
好了,以上基本工作做完了,下面说其中一个方法。
方法一:
在DataGridView控件的CellClick事件中添加如下代码:
CellClick事件 private void dataGridView_CellClick(object sender, DataGridViewCellEventArgs e){if (e.RowIndex >= 0 && e.ColumnIndex >= 0){DataGridViewComboBoxColumn combo = dataGridView.Columns[e.ColumnIndex] as DataGridViewComboBoxColumn;if (combo != null) //如果该列是ComboBox列 {dataGridView.BeginEdit(false); //结束该列的编辑状态DataGridViewComboBoxEditingControl comboEdite = dataGridView.EditingControl as DataGridViewComboBoxEditingControl;if (comboEdite != null){comboEdite.DroppedDown = true; //展现下拉列表 }}DataGridViewTextBoxColumn textbox = dataGridView.Columns[e.ColumnIndex] as DataGridViewTextBoxColumn;if (textbox != null) //如果该列是TextBox列 {dataGridView.BeginEdit(true); //开始编辑状态 }}}
View Code
方法二:
在DataGridView的CellEnter事件中添加如下代码:
CellEnter事件 private void dataGridView_CellEnter(object sender, DataGridViewCellEventArgs e){DataGridView dgv = sender as DataGridView;if (dgv != null){if (dgv.Columns[e.ColumnIndex].Name == "combo" &&dgv.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn){SendKeys.Send("{F4}"); //选中ComboBox列时,相当于按了键盘的F4键 }}}
View Code
DataGridView的DataGridViewComboBoxColumn列点击一次,自动处于编辑状态相关推荐
- DataGridView的DataGridViewComboBoxColumn列点击一次
DataGridView的DataGridViewComboBoxColumn列点击一次 Winform中的DataGridView数据绑定控件有时会用到ComboBox列,想要显示ComboBox列 ...
- NSTextField 处于编辑状态时,点击return键 结束编辑,NSButton的return快捷方法不响应
NSButton 设置快捷键 return, 当 NSTextField 处于编辑状态时, 点击return键 结束编辑,要求不响应button的return快捷方法 attributes inspe ...
- js点击使内容变成可编辑状态
一个有内容的标签,用原生JS点击按钮使内容变成可编辑状态,然后使用保存数据.这个是点击编辑按钮使得标签内容替换为文本域来实现的. 代码如下 <!DOCTYPE html> <html ...
- html的表格变成输入框,element+vue表格点击变成输入框(可编辑状态)
完整html内容 stripe border :data="dataList" @cell-click="tabClick" :row-class-name=& ...
- 在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug
在VS2008中DataGridView控件里DataGridViewComboBoxColumn列的Bug: SQL数据库表(Product)格式: 列:Guid 产品名称 产品规格. ...
- 【转】datagridview的checkbox列,当修改checkbox状态时实时获得其准确状态值
不知道大家有没有这样的经验,当点击或者取消datagridview的checkbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作.网上方法有不少可是总是效果差强人意. 下面就列出它的个 ...
- C# winform单元格的formatted值的类型错误 DataGridView中CheckBox列运行时候System.FormatException异常
C# winform单元格的formatted值的类型错误 DataGridView中CheckBox列运行时候System.FormatException异常 参考文章: (1)C# winform ...
- C# WinForm DataGridView 给标题列增加序号及格式化某个字段
DataGridView 给标题列增加序号 private void dataGridView1_DataBindingComplete(object sender, DataGridViewBind ...
- datagridview删除第一列空白
datagridview删除第一列空白: dataGridView1.RowHeadersVisible = false; 删除最后一行空白: 1.dataGridView1.AllowUserToA ...
最新文章
- SAP PM 初级系列16 - 设备相关的Asset号
- 四种排序(冒泡、插入、递归、选择)
- 解决虚拟机vmware安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题...
- 使用SGD(Stochastic Gradient Descent)进行大规模机器学习
- c++代码小游戏_用Python编写一个打乒乓球小游戏
- CodeForces - 1543D1 RPD and Rap Sheet (Easy Version)(异或+交互)
- 内温的整体优先效应实验_[心理学复习.doc
- Magicodes.Admin.Core开源框架总体介绍
- 分页offset格式_MySQL中limit分页查询性能问题分析
- t-SNE可视化-Python实现
- echarts 大数据可视化
- PDF文档签名证书帮助您签署可信的电子合同
- vue+springboot通过post请求实现文件下载
- c语言实现多目标优化,MOPSO 多目标例子群优化算法
- 回顾在江西博微科技工作9个月回顾(吐槽)
- JavaMail QQ邮箱发送内容+图片
- 什么是面向对象?面向对象的特征?面向对象和面向过程的区别?
- 秋季,高级灰这样搭配,怪不得这么潮!
- 对称数(自己的算法)
- HDOJ--1000A + B Problem
热门文章
- Netty详解(二)Linux 网络IO模型
- opencv颜色识别java,Opencv颜色识别与追踪
- 【CF375D】Trees and Queries——树上启发式合并
- js regex var highlight
- java中getClass().getResourceAsStream()与getClass().getClassLoader().getResourceAsStream()的区别
- 孤荷凌寒自学python第六天 列表的嵌套与列表的主要方法
- log4net使用详解
- Hibernate 入门小案例
- 如何设置listview每个item高度
- 数据库查询性能优化之利器—索引(二)