组合框 .ValueMember 不适合我
combo box .ValueMember not working for me
正在 DisplayMember 和 ValueMember 的组合框中调用数据库值,但 ValueMember 属性 在这里不起作用......
sql = "select NAME_DESC,ACCOUNT_CODE from ACCOUNT_CONTROLS ORDER by
NAME_DESC"
cmd = New OracleCommand(sql, sgcnn)
adapter.SelectCommand = cmd
adapter.Fill(ds)
adapter.Dispose()
cmd.Dispose()
CmbConAcc.DataSource = ds.Tables(0)
CmbConAcc.DisplayMember = "NAME_DESC"
CmbConAcc.ValueMember = "ACCOUNT_CODE"
--- 尝试将 ValueMember 数据插入数据库
Dim cmd As OracleCommand = New OracleCommand()
cmd.CommandText = "INSERT INTO ACCOUNT_HEADS (HEAD_CODE,NAME_DESC,ACCOUNT_CODE,REMARKS)" &
"values( trim(" & TxtAccCode.Text & "),trim(' " & TxtNDesc.Text & " '),trim(' " & CmbConAcc.ValueMember & " '),trim(' " &
txtRemarks.Text & " ')) "
如果你在这里设置 ValueMember
:
CmbConAcc.ValueMember = "ACCOUNT_CODE"
为什么你希望得到除此之外的任何东西?
ValueMember
是一个property/column数据源的名称。当用户进行选择时,SelectedItem
的 property/column 的值将由 SelectedValue
属性 公开。这就是你需要使用的。
这就是 ValueMember
属性 文档中的代码示例所演示的内容,这也是您应该始终阅读文档的原因。 VS 有一个帮助菜单是有原因的。
正在 DisplayMember 和 ValueMember 的组合框中调用数据库值,但 ValueMember 属性 在这里不起作用......
sql = "select NAME_DESC,ACCOUNT_CODE from ACCOUNT_CONTROLS ORDER by
NAME_DESC"
cmd = New OracleCommand(sql, sgcnn)
adapter.SelectCommand = cmd
adapter.Fill(ds)
adapter.Dispose()
cmd.Dispose()
CmbConAcc.DataSource = ds.Tables(0)
CmbConAcc.DisplayMember = "NAME_DESC"
CmbConAcc.ValueMember = "ACCOUNT_CODE"
--- 尝试将 ValueMember 数据插入数据库
Dim cmd As OracleCommand = New OracleCommand()
cmd.CommandText = "INSERT INTO ACCOUNT_HEADS (HEAD_CODE,NAME_DESC,ACCOUNT_CODE,REMARKS)" &
"values( trim(" & TxtAccCode.Text & "),trim(' " & TxtNDesc.Text & " '),trim(' " & CmbConAcc.ValueMember & " '),trim(' " &
txtRemarks.Text & " ')) "
如果你在这里设置 ValueMember
:
CmbConAcc.ValueMember = "ACCOUNT_CODE"
为什么你希望得到除此之外的任何东西?
ValueMember
是一个property/column数据源的名称。当用户进行选择时,SelectedItem
的 property/column 的值将由 SelectedValue
属性 公开。这就是你需要使用的。
这就是 ValueMember
属性 文档中的代码示例所演示的内容,这也是您应该始终阅读文档的原因。 VS 有一个帮助菜单是有原因的。