DataGridViewComboBoxColumn 的下拉事件

lieon 2008-10-16 04:36:21

要重新定义DataGridViewComboBoxColumn类,并且要在类中添加诸如ComboBox的 OnSelectedIndexChanged,OnSelectedValueChanged等事件,请高手指点,怎么做呢?我自己开发不出来,老是报错,谢谢,有效回答复给分!
...全文
793 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangchena 2009-07-16
  • 打赏
  • 举报
回复
dg1_EditingControlShowing()这个事件不好用,下来框还没选呢,就开始执行了,我们要的是,下拉选择之后,添加一个事件,带动联动dg1_EditModeChanged()这个事件又没有e.Control。哎真不知道微软整那么多ing事件干什么,一半人类的思路也是选完了在联动,哪有还没开始选呢,就执行了,选完了反而不执行了,下次选又执行,还是执行上次留下的过时的值。
BearOL 2008-11-15
  • 打赏
  • 举报
回复
这样做是可以实现,但比如说一个dataGridView中还有其它列不是ComboBoxColumn,编辑的时候也会执行那个事件响应函数,该怎么解决
lieon 2008-11-12
  • 打赏
  • 举报
回复
/// <summary>
/// 事件.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void columnPARENTID_SelectedIndexChanged(Object sender, EventArgs e)
{
if(Convert.IsDBNull(this.columnPARENTID.SelectedValue))
return;
}

直接定义这个列的事件,不要需要转化;如你那样的话,能不能准确定位到 this.columnPARENTID 这个列控件呢?也即能否正确触发这个列下拉时的事件呢?
lieon 2008-11-12
  • 打赏
  • 举报
回复
楼上大哥讲得不错,但是我想下面这样修改:
假设 columnPARENTID是 DataGridViewComboBoxColumn 的类型.

public partial class FormFunction :Form
{
/// <summary>
/// 重载函数.
/// </summary>
protected override void CreateHandle()
{
base.CreateHandle();
if (!DesignMode)
{
try
{

this.columnPARENTID.SelectedIndexChanged += new EventHandler(columnPARENTID_SelectedIndexChanged);
}
catch (Exception err)
{
MessageBoxHelper.Error(this, "Create handle error:" + err.Message);
}

}
}
}
wangping_li 2008-11-05
  • 打赏
  • 举报
回复

//在datagridview的Editing事件里面写
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
ComboBox cb = e.Control as ComboBox;
if (cb != null)
{
cb.SelectedIndexChanged += new EventHandler(cb_SelectedIndexChanged);
}

}

void cb_SelectedIndexChanged(object sender, EventArgs e)
{
//这里执行你需要的,这就是下拉事件
}
lieon 2008-11-04
  • 打赏
  • 举报
回复
楼上各位,不好意思,这段时间没有上来看看,原来有这么多大哥关心,谢~

是重新定义这个控件,增加类似于OnSelectedIndexChanged的事件,增加后,总是报错:未将对象引用对象的实例;找不出来!
希望在DataGridView 中的ComboBoxColumn下拉后,执行对应的事件!目前这个控件是要隐式转换对应的事件,所以想重新定义这个控件,把事件也定义进去,这样说不知各位能了解?

yeah920 2008-10-20
  • 打赏
  • 举报
回复
没看懂.帮顶.
yilanwuyu123 2008-10-20
  • 打赏
  • 举报
回复
楼主说的是自定义控件还是用现成的? 报的什么错?
rangeon 2008-10-19
  • 打赏
  • 举报
回复
事件委托吧
优途科技 2008-10-18
  • 打赏
  • 举报
回复
帮忙顶了。

8,834

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧