DataGridView中内置控件常用事件使用心得
2014-06-03 22:16
399 查看
checkbox,button,imagebutton使用dataGridView1_CellContentClick
combobox使用EditingControlShowing+DropDownClosed,此二事件结合使用可以做到内置combobox一下拉选择了就触发事件
textbox一般只需要验证事件可使用dgvJointList_CellValidating
单元格内容改变!,Row:-1,Column:0
单元格内容改变!,Row:-1,Column:1
单元格内容改变!,Row:-1,Column:2
单元格内容改变!,Row:-1,Column:3
单元格内容改变!,Row:-1,Column:4
单元格内容改变!,Row:-1,Column:5
单元格内容选择改变!,Row:0,Column:0
单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl
点击checkboxcell
单元格验证!,Row:0,Column:0
单元格内容选择改变!,Row:0,Column:4
单元格单击!,Row:0,Column:4
单元格内容单击!,Row:0,Column:4
点击comboboxcell
单元格验证!,Row:0,Column:4
单元格内容改变!,Row:0,Column:4
单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewComboBoxEditingControl
单元格内容选择改变!,Row:0,Column:3
单元格单击!,Row:0,Column:3
点击textboxcell
单元格验证!,Row:0,Column:3
单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl
单元格内容选择改变!,Row:0,Column:0
单元格单击!,Row:0,Column:0
单元格离开!,Row:0,Column:0
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb.Text+=string.Format("\r\n{0},Row:{1},Column:{2}","单元格内容单击!",e.RowIndex,e.ColumnIndex); }
combobox使用EditingControlShowing+DropDownClosed,此二事件结合使用可以做到内置combobox一下拉选择了就触发事件
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { tb.Text += string.Format("\r\n{0},控件名:{1}", "单元格控件编辑!", e.Control.GetType()); if (e.Control.GetType().Equals(typeof(DataGridViewComboBoxEditingControl))) { DataGridViewComboBoxEditingControl editingControl = e.Control as DataGridViewComboBoxEditingControl; try { editingControl.DropDownClosed -= new EventHandler(editingControl_DropDownClosed); } catch { } editingControl.DropDownClosed += new EventHandler(editingControl_DropDownClosed); } else if (e.Control.GetType().Equals(typeof(DataGridViewTextBoxEditingControl))) { DataGridViewTextBoxEditingControl editingControl = e.Control as DataGridViewTextBoxEditingControl; try { } catch { } } } private void editingControl_DropDownClosed(object sender, EventArgs e) { DataGridViewComboBoxEditingControl ctl = sender as DataGridViewComboBoxEditingControl; int r = dataGridView1.CurrentCell.RowIndex; int c = dataGridView1.CurrentCell.ColumnIndex; tb.Text += string.Format("\r\n{0},控件名:{1}", "单元格下拉框下拉!", ctl.GetType()); dataGridView1.CellValueChanged -= dataGridView1_CellValueChanged; }
textbox一般只需要验证事件可使用dgvJointList_CellValidating
private void dgvJointList_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { int r = dgvJointList.CurrentCell.RowIndex; int c = dgvJointList.CurrentCell.ColumnIndex; if (dgvJointList.Columns["diameter"].Index == c || dgvJointList.Columns["thickness"].Index == c || dgvJointList.Columns["weldLength"].Index == c) { string txt = dgvJointList.CurrentCell.EditedFormattedValue.ToString(); string errorMsg; if (!ValidNumericFF(txt, out errorMsg)) { e.Cancel = true; this.errorProvider1.SetError(dgvJointList, errorMsg); } else { this.errorProvider1.SetError(dgvJointList, ""); } } }
单元格内容改变!,Row:-1,Column:0
单元格内容改变!,Row:-1,Column:1
单元格内容改变!,Row:-1,Column:2
单元格内容改变!,Row:-1,Column:3
单元格内容改变!,Row:-1,Column:4
单元格内容改变!,Row:-1,Column:5
单元格内容选择改变!,Row:0,Column:0
单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl
点击checkboxcell
单元格验证!,Row:0,Column:0
单元格内容选择改变!,Row:0,Column:4
单元格单击!,Row:0,Column:4
单元格内容单击!,Row:0,Column:4
点击comboboxcell
单元格验证!,Row:0,Column:4
单元格内容改变!,Row:0,Column:4
单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewComboBoxEditingControl
单元格内容选择改变!,Row:0,Column:3
单元格单击!,Row:0,Column:3
点击textboxcell
单元格验证!,Row:0,Column:3
单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl
单元格内容选择改变!,Row:0,Column:0
单元格单击!,Row:0,Column:0
单元格离开!,Row:0,Column:0
相关文章推荐
- 常用界面控件种类和使用方法、常用控件的事件响应方法、常用内置视图种类和使用方法
- Asp.net开发心得点滴[动态加载的用户控件使用事件委托,交给页面处理的事件无效问题]
- 按钮控件的 BCN_HOTITEMCHANGE 事件响应函数使用心得
- DataGridView控件使用大全说明-各种常用操作与高级操作
- IE打印控件使用及其他常用Windows事件
- MSHFlexGrid控件常用属性,方法和事件.
- [原创]SqlPager控件使用心得
- DataGridView控件的使用
- 使用 DataGridView 控件建立一个类似电子表格的累计结余接口
- 使用 DataGridView 控件建立一个类似电子表格的累计结余接口
- 总结了一下 GridView控件的常用事件触发时序
- ASP.NET2.0中的GRIDVIEW控件在使用TemplateField中的LinkButton时如何在RowCommand事件中找到当前行index的方法
- 使用 Web Browser 控件的 newWindow2 事件打开弹出的网页。
- 演示事件(Event)怎样使用以及怎样为用户控件添加一个事件(示例代码下载)
- DataGridView控件使用(一)
- SqlPager控件使用心得[续]
- 演示事件(Event)怎样使用以及怎样为用户控件添加一个事件(示例代码下载)
- 演示事件(Event)怎样使用以及怎样为用户控件添加一个事件(示例代码下载)
- DataGridView 控件编程的事件
- 第三方控件使用心得