gpt4 book ai didi

vb.net - 为什么 DataGridViewComboBoxColumn 显示一个 ValueMember?

转载 作者:行者123 更新时间:2023-12-01 05:31:40 24 4
gpt4 key购买 nike

我有一个小问题。 DataGridViewComboBoxColumn显示来自 ValueMember 的值而不是来自 DisplayMember .网格工作正常,当我从该列中选择某些内容时,我看到 DisplayMember值,但是当焦点丢失时,网格显示 ValueMember .我有这个代码组合框列:

statusCBoxColumn.DataSource = dt 'datatable with two fields StatusId and StatusText
statusCBoxColumn.DisplayMember = "StatusText" 'is type NVarchar
statusCBoxColumn.ValueMember = "StatusId" 'is type Int

有谁能够帮助我?

编辑:我通过以下方式解决了这个问题:
Private Sub dgv_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
If (dgv.Columns(e.ColumnIndex).Name = "statusCBoxColumn") Then
If e.Value & "" > "" Then
Dim s1 As String = e.Value
e.Value = GetData("Select StatusText from Status where ID = " & e.Value).ToString()
End If
End If
End Sub

但我不认为这是最好的解决方案......

最佳答案

我有同样的问题。
我的“statusID”很长。
我是通过 system.type.gettype("System.Int64")
这给出了相同的行为。
将其更改为 Int32 时,行为正常。

所以它是 valuemember 类型和 datagridview 类型之间的不匹配。

关于vb.net - 为什么 DataGridViewComboBoxColumn 显示一个 ValueMember?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com