0

我有一个绑定到 DataTable 的 DataGridView。绑定完成后,我手动搜索 DGV 的所有单元格,并将单个常规 DGV 单元格替换为 DataGridViewComboBoxCell 实例。单元格绑定了自己的数据源。

我遇到的问题是,当用户在 DataGridViewComboBoxCell 单元格中进行选择并离开它时,它会将其显示的字符串从 DisplayMember (类似于“Warehouse #23”)更改为其底层 ValueMember(类似于 23) . 当重新输入单元格时,它会切换回显示 DisplayMember(等等)。除此之外,一切正常(GUI可用,可以选择,只有显示有问题)。

DataGridViewComboBoxCell 对象上是否有控制此行为的属性?或者这种行为是否来自我在常规 DGV 列中手动植入 DataGridViewComboBoxCell ?

哦,我这样做的原因是我需要一种简单的方法来构建动态用户输入 GUI。可以简单地以编程方式构造一个 DataTable 并将其插入 DGV。DGV 构建“GUI”并使其可用。您可以使用一列作为标题,一列用于用户输入。我现在不仅需要标准文本单元(基本上是文本框),还需要面向选择的组合框单元。

4

1 回答 1

0

我将为可能会发现自己处于这种情况的人们提供各种解决方案。

我没有发现任何真正的原因,但设法通过手动处理单元格内容的显示来解决这种情况。您可以通过为 DataGridView 的 CellFormatting 事件实现事件处理程序来做到这一点。在那里,您将 e.Value 属性设置为您需要显示的任何内容。

于 2010-03-10T13:00:44.580 回答