DataGridView下拉框动态赋值以及事件处理
2009-07-13 10:05
411 查看
第一种:
下拉框动态赋值:
private void Form1_Load(object sender, EventArgs e)
{
//获取数据源list
this.Column1.DataSource = list;
this.Column1.DisplayMember = "";
this.Column1.ValueMember = "";
}
private DataGridViewComboBoxEditingControl dataGridViewComboBox = null;
//捕获事件
private void dgvTableFields_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewComboBoxEditingControl && this.dgvTableFields.CurrentCell.ColumnIndex ==4
&& this.dgvTableFields.CurrentCell.RowIndex !=-1)
{
this.dataGridViewComboBox = (DataGridViewComboBoxEditingControl)e.Control;
//增加委托处理
dataGridViewComboBox.SelectionChangeCommitted += new EventHandler(this.dataGridViewComboBox_SelectionChangeCommitted);
}
}
private void dataGridViewComboBox_SelectionChangeCommitted(object sender, EventArgs e)
{
//处理业务
MessageBox.Show(((ComboBox)sender).Text);
}
private void dgvTableFields_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (this.dataGridViewComboBox != null)
{
dataGridViewComboBox.SelectionChangeCommitted -= new EventHandler(this.dataGridViewComboBox_SelectionChangeCommitted);
this.dataGridViewComboBox =null;
}
}
第二种:
在DataGridView控件中加入ComboBox下拉列表框的实现
下拉框动态赋值:
private void Form1_Load(object sender, EventArgs e)
{
//获取数据源list
this.Column1.DataSource = list;
this.Column1.DisplayMember = "";
this.Column1.ValueMember = "";
}
private DataGridViewComboBoxEditingControl dataGridViewComboBox = null;
//捕获事件
private void dgvTableFields_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewComboBoxEditingControl && this.dgvTableFields.CurrentCell.ColumnIndex ==4
&& this.dgvTableFields.CurrentCell.RowIndex !=-1)
{
this.dataGridViewComboBox = (DataGridViewComboBoxEditingControl)e.Control;
//增加委托处理
dataGridViewComboBox.SelectionChangeCommitted += new EventHandler(this.dataGridViewComboBox_SelectionChangeCommitted);
}
}
private void dataGridViewComboBox_SelectionChangeCommitted(object sender, EventArgs e)
{
//处理业务
MessageBox.Show(((ComboBox)sender).Text);
}
private void dgvTableFields_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (this.dataGridViewComboBox != null)
{
dataGridViewComboBox.SelectionChangeCommitted -= new EventHandler(this.dataGridViewComboBox_SelectionChangeCommitted);
this.dataGridViewComboBox =null;
}
}
第二种:
在DataGridView控件中加入ComboBox下拉列表框的实现
相关文章推荐
- C++ Builder 实现动态生成窗口、控件,以及处理控件事件(转载)
- C#动态生成控件以及添加事件处理
- C#动态生成控件以及添加事件处理
- C#动态生成控件以及添加事件处理
- EXTJS中,下拉框绑定事件,动态赋值
- echart 饼图处理 数据格式化 option动态赋值 点击事件处理
- 动态添加dev CheckEdit控件,以及删除。事件处理
- 动态初始化下拉框以及修改操作时的下拉框赋值
- DataGridView下拉框事件的捕获和处理
- C#动态生成控件以及添加事件处理
- 动态获取权限, 以及事件处理
- C#动态生成控件以及添加事件处理
- C++ Builder 实现动态生成窗口、控件,以及处理控件事件
- C#动态组件添加以及预定义事件处理
- C++ Builder 实现动态生成窗口、控件,以及处理控件事件
- 为动态生成的html元素增加事件处理
- Android部分机型的动态权限的获取以及处理
- 部分Dojo常用函数简介(五)——事件处理以及Ajax I/O函数扩展
- TMethod的妙用:解决动态创建的组件的事件赋值问题 by LYSoft LiuYang
- JS动态添加HTML自定义属性以及处理HTML元素的自定义属性(兼容FIREFOX和IE)