繁体   English   中英

DataGridView中的C#组合框

[英]c# combobox in datagridview

我正在使用datagridviewcomboboxcell显示值。 我希望此单元格的值是int。 但是:打开组合框时,我希望在组合框中看到每个项目的描述。 当我选择一个时,值发生变化(组合框关闭),可见值仅为int。 有谁知道如何做到这一点?

喜欢:所选商品:2

扩展组合框:0-烯1-到期2-瑞克3-假感谢您的帮助。

即使您找到设置TextField和ValueField的方法,我也严重怀疑在控件显示下拉列表(数字和文本),折叠并仅显示为下拉关闭(仅数字)时呈现不同的文本)。

您的要求当然很合理,但是您只需设置几个属性就不会毫不费力地使其运行。

要在Windows窗体中处理此问题,您应该截取以下事件: EditingControlShowing,并在其中为ComboBox指定控件的自定义值,这是一个起点:

 void dataGridView1_EditingControlShowing(object sender,
            DataGridViewEditingControlShowingEventArgs e)
        {
            if (e.Control is ComboBox)
            {
                ComboBox cmb = e.Control as ComboBox;

                // here you can work on the ComboBox...
            }
        }

有关更多详细信息,请单击此处: DataGridView.EditingControlShowing事件

您需要将ValueMember属性设置为对象中“ id”的任何属性。 若要设置可见的文本,请将想要显示的对象的属性分配给DisplayMember属性。 如果将此数据网格绑定到数据库记录或某种记录,则上面提到的属性应该是要绑定的表字段的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM