DataGridView一些技巧[不断更新]
2010-06-30 21:51
281 查看
1,绑定下拉列表列
网上大多数用法是要你在RowsAdded事件里面,找到列,然后再设置数据源,也是官方演示的做法,殊不知DGV的每一列的控件都是可以直接在后台设置属性的,并不需要循环,如下,我某列的“合格”是一个名为"validate"的列,那么你只要在代码里直接设置
这样,你的数据就绑定上了,相当方便
注:RowsAdded事件严格来说并不是循环行,所以千万不要在这个事件里面写循环行来处理一些数据的代码
2,让单元格里的下拉列表在编辑里才显示上下箭头
很简单,设置其DisplayStyle为Nothing即可。
3,随鼠标滚轮而滚动选中行
代码
调用
其中,Helper是我的帮助项目的命名空间,忽视它,
dataGridView1.TabIndex = 0;//获得焦点
这是因为mouseWheel事件只有在DGV获得焦点的时候才生效,于是设DGV的tabIndex为零,这样会默认获得窗体的焦点
另外,我之所以把它封闭起来而不是直接写DGV的事件纯粹是为了方便调用
网上大多数用法是要你在RowsAdded事件里面,找到列,然后再设置数据源,也是官方演示的做法,殊不知DGV的每一列的控件都是可以直接在后台设置属性的,并不需要循环,如下,我某列的“合格”是一个名为"validate"的列,那么你只要在代码里直接设置
validate.DataSource = mydatasource; validate.DisplayMember = display; validate.ValueMember = value;
这样,你的数据就绑定上了,相当方便
注:RowsAdded事件严格来说并不是循环行,所以千万不要在这个事件里面写循环行来处理一些数据的代码
2,让单元格里的下拉列表在编辑里才显示上下箭头
很简单,设置其DisplayStyle为Nothing即可。
3,随鼠标滚轮而滚动选中行
代码
/// <summary> /// 给datagridview添加鼠标滚轮事件 /// </summary> /// <param name="dataGridView1"></param> public static void bindMouseWheel(System.Windows.Forms.DataGridView dataGridView1) { dataGridView1.MouseWheel += new System.Windows.Forms.MouseEventHandler(dataGridView1_MouseWheel); dataGridView1.TabIndex = 0;//获得焦点 } static void dataGridView1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e) { DataGridView dataGridView1 = sender as DataGridView; try { if (dataGridView1.CurrentCell != null) { DataGridViewCell dvc = dataGridView1.CurrentCell; int ri = dvc.RowIndex; int ci = dvc.ColumnIndex; if (e.Delta > 0)//向上 { if (ri > 0) { dvc = dataGridView1.Rows[ri - 1].Cells[ci]; dataGridView1.CurrentCell = dvc; } } else { if (ri < dataGridView1.Rows.Count - 1) { dvc = dataGridView1.Rows[ri + 1].Cells[ci]; dataGridView1.CurrentCell = dvc; } } } } catch { return; } }
调用
Helper.GridviewExtend.bindMouseWheel(dataGridView1);
其中,Helper是我的帮助项目的命名空间,忽视它,
dataGridView1.TabIndex = 0;//获得焦点
这是因为mouseWheel事件只有在DGV获得焦点的时候才生效,于是设DGV的tabIndex为零,这样会默认获得窗体的焦点
另外,我之所以把它封闭起来而不是直接写DGV的事件纯粹是为了方便调用
相关文章推荐
- Linux的一些基本技巧(不断收集,更新中)
- 一些技巧(不断更新)
- shell 命令的一些技巧(不断更新)
- VS 常用的一些技巧和问题集锦【不断的更新中】
- vim的一些技巧(不断更新)
- 一些关于随着输入不断更新搜索结果的技巧
- Java实际项目中应用的一些技巧(不断更新)
- android 学习七 一些xml layout组件的说明(自己总结不断更新)
- Js的一些使用技巧【持续更新】
- Windows 操作技巧(不断更新)
- Mac上的软件的一些对开发者有用的使用技巧(持续更新)
- Intent的一些用法(不断更新)
- 图像频域增强的一些知识(不断更新,便于自己和大家查阅)
- DataGridView的一些技巧
- my eclipse中一些快捷方式(会不断更新)
- 20131013-OrCAD设计重用的一些技巧-不断完善
- vc使用技巧(不断更新中)
- 学习D3D的一些基本概念-不断更新中。。
- 使用Vs.Net 的一些小技巧(不断更新中)
- 初学PHP的朋友, 经常问的一些问题。不断更新