我使用datagridviewcomboboxcell来显示值。我希望这个单元格值是int。但是:当我打开组合框时,我希望在组合框中看到每个项目的描述。当我选择一个值时,值变化(组合框关闭),可见值仅为int。有谁知道如何做到这一点?
喜欢:所选项目:2
扩展的组合框:0 - 烯 1 - 到期 2 - 喜欢 3 - 假的 谢谢你的帮助。
答案 0 :(得分:1)
即使您找到了设置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 Event
答案 1 :(得分:0)
您需要将ValueMember
属性设置为对象中的任何属性为“id”。要设置可见文本,请为DisplayMember
属性指定要显示的对象的属性。如果此数据网格绑定到数据库记录或某种类型,则上述属性应该是您要绑定的表字段的名称。