DataGridView中comboBox(DataGridViewComboBoxColumn)的事件编写
2012-01-04 17:47
537 查看
DataGridView中虽然绑定了一个comboBox,但是这个comboBox没有任何事件。
今天想加一个SelectedIndexChanged事件,遍寻网络后找到一可行方法,总结如下:
view plain·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150DataGridViewComboBoxColumn Fparmrangedesc = new DataGridViewComboBoxColumn();
……
……
dgView.Columns.Add(Fparmrangedesc);
dgView.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dgView_EditingControlShowing); //主要是这句
写事件方法
private void dgView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dgvReportParms.CurrentCell.GetType().Name == "DataGridViewComboBoxCell")
{
((ComboBox)e.Control).SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
}
}
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
//里面想写什么你说了算!
}
最后,最重要的一步:把DataGridView的CausesValidation属性一定要改为false.(这一步是为什么我还没有搞清楚,希望各位高手帮我解释一下!谢谢了!)
今天想加一个SelectedIndexChanged事件,遍寻网络后找到一可行方法,总结如下:
view plain·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150DataGridViewComboBoxColumn Fparmrangedesc = new DataGridViewComboBoxColumn();
……
……
dgView.Columns.Add(Fparmrangedesc);
dgView.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dgView_EditingControlShowing); //主要是这句
写事件方法
private void dgView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dgvReportParms.CurrentCell.GetType().Name == "DataGridViewComboBoxCell")
{
((ComboBox)e.Control).SelectedIndexChanged -= new EventHandler(ComboBox_SelectedIndexChanged);
((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(ComboBox_SelectedIndexChanged);
}
}
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
//里面想写什么你说了算!
}
最后,最重要的一步:把DataGridView的CausesValidation属性一定要改为false.(这一步是为什么我还没有搞清楚,希望各位高手帮我解释一下!谢谢了!)
相关文章推荐
- DataGridView中comboBox(DataGridViewComboBoxColumn)的事件编写
- DataGridView中comboBox(DataGridViewComboBoxColumn)的事件编写
- DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件
- 如何给DataGridViewComboBoxColumn写事件
- DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件-转
- winform dataGridView DataGridViewComboBoxColumn 下拉框事件
- DataGridViewComboBoxColumn 添加下拉及触发事件
- winform dataGridView DataGridViewComboBoxColumn 下拉框事件代码
- dataGridViewComboBoxColumn添加事件
- 【转】DataGridViewComboBoxColumn的使用
- DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件
- DataGridViewComboBoxColumn用法总结
- 真正的DataGridViewComboBoxColumn
- DataGridView DataGridViewCheckBoxColumn编辑时实时触发事件
- DataGridView中对各种类型的单元格控件的事件处理(DataGridViewCheckBoxCell、DataGridViewComboBoxCell等的选定、事件触发)
- c# 在datagridview中添加comboboxcolumn 绑定数据库读取显示数据
- DataGridViewComboBoxColumn 可以让用户输入并自动匹配选项的问题
- DataGridView的复选框列的选中事件:DataGirdCheckBoxColumn 列 选中 事件
- DataGridView中的DataGridViewComboBoxColumn列处理
- DataGridView的复选框列的选中事件:DataGirdCheckBoxColumn 列 选中 事件。