【问题标题】:dataGridView with comboBox带有组合框的 dataGridView
【发布时间】:2011-06-15 19:20:39
【问题描述】:

我的程序中有现有的组合框,它添加了一些事件,它的元素列表随时间变化。我有 dataGridView 和 dataGridViewComboBoxColumn。现在我想将我的组合框添加到 dataGridView 中的一个单元格中。我怎样才能做到?我尝试了几个例子,我在网上找到了,但我不工作..

编辑

我知道这是不可能的。那么,如何从 dataGridViewComboBoxColumn 向组合框添加事件呢?

编辑 2

 dataGridView.EditingControlShowing += dataGridView1_EditingControlShowing;

 private void dataGridView1_EditingControlShowing (object sender, DataGridViewEditingControlShowingEventArgs e) {

    if ( e.Control is ComboBox) {
         ((ComboBox)e).event = new Handler;
    }
}

它似乎工作得很好,但是我不能用一些标签加入这个组合框。

【问题讨论】:

    标签: c# datagridviewcombobox


    【解决方案1】:

    我不相信您可以将任何组合框添加到 DataGridView,因为它们不是同一类型。

    DataGridViewComboBoxColumn 类型应自动包含 DataGridViewComboBoxCell 类型的组合框供您使用。

    如果您希望多个组合框包含相同的数据,您应该以它们都使用相同数据源的方式实现它。

    【讨论】:

    • 好的,我可以从 DataGridViewComboBoxColumn 向这个组合框添加一些事件吗?
    • 列本身没有任何事件,但单个单元格有。见msdn.microsoft.com/en-us/library/…你应该可以AddListener thecell.OnClick AddressOf DoSomething
    • 那么为什么当我这样做时:((DataGridViewComboBoxCell)dataGridView.Rows[0].Cells[0]).onClik(或其他一些事件)它不存在..?
    • 我认为我的代码没有什么不同,因为当我创建 DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();细胞只有很少的功能。也许是我没有最新版本的 .NET Framework 的问题。
    • 啊,我明白了。我认为被列为事件的实际上只是内部受保护的方法。您需要的活动可以在这里找到:msdn.microsoft.com/en-us/library/…
    猜你喜欢
    • 1970-01-01
    • 2013-09-10
    • 2013-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 2014-05-29
    相关资源
    最近更新 更多