【问题标题】:Applying a DataGridViewComboBoxCell selection change immediately立即应用 DataGridViewComboBoxCell 选择更改
【发布时间】:2010-10-18 22:36:11
【问题描述】:

当我更改 DataGridViewComboBoxCell 中的值时,新值不会立即应用,直到该单元格离开焦点。

有没有办法立即应用新值?

【问题讨论】:

    标签: winforms datagridview combobox


    【解决方案1】:

    如果您在 DataGridView 上处理 EditingControlShowing 事件,则可以将事件处理程序附加到底层 ComboBox 的 SelectedIndexChanged 事件(或 SelectedValueChanged 或任何其他 ComboBox 事件)。只要 ComboBox 值发生变化,它就会立即触发,您可以对新值做任何您想做的事情。

    the MSDN docs for DataGridViewComboBoxEditingControl 中有此示例代码。

    【讨论】:

    • “你可以用新值做任何你想做的事”。我想要做的是告诉组合框提交对数据绑定项的更改。你知道是否有命令可以做到这一点?
    【解决方案2】:

    DataGridView.CommitEdit Method

    这也可能对您有用。处理 CurrentCellDirtyStateChanged 事件,检查 Dirty 并提交编辑。然后您可以使用 CurrentCell 属性来访问被选中的值(假设它已经过验证)。

    【讨论】:

      【解决方案3】:
      DataGridView1.EndEdit()
      

      忽略此文本,答案必须至少 30 个字符

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-30
        • 2020-08-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-29
        • 1970-01-01
        • 2021-11-05
        相关资源
        最近更新 更多