visual-studio-2012 - 如何在 VB 2012 中为组合框添加 unqiue 索引(不按顺序)
问题描述
我正在将客户列表加载到组合框中并按客户名称排序,这意味着 ID 字段不按顺序排列。
我可以将名称添加到列表中,但不能将 ID 字段设置为索引。我收到错误“InvalidArgument = '19' 的值对 'index' 无效。”
cboClients.Items.Insert(index,"Client Name")
我假设索引必须连续运行并且不能乱序设置
有没有办法解决这个问题。我知道这在 VB6 中是可能的
cboClients.AddItem "Client Name"
cboClients.ItemData(cboClients.NewIndex) = 55
点击组合将是
value = cboClients.ItemData(cboClients.ListIndex)
值为 55
解决方案
我通过使用 DataTable 解决了这个问题
Dim tblClients As New DataTable()
tblClients.Columns.Add("client_id")
tblClients.Columns.Add("client_name")
Do Until rstCombos.EOF
tblClients.Rows.Add(rstCombos.Fields("client_id").Value, rstCombos.Fields("client_name").Value)
rstCombos.MoveNext()
Loop
cboClients.DataSource = tblClients
cboClients.DisplayMember = "client_name"
cboClients.ValueMember = "client_id"
推荐阅读
- java - 使用 Java 的 SunMSCAPI/Windows-MY 访问智能卡证书以进行客户端身份验证的 TLS/SSL 连接
- git - 测试以检查是否在 Mac OS High Sierra 上删除了手动 git install
- c# - Ubuntu 18.04 托管 ASP.NET MVC4
- c++ - 有没有合法的方法将 unsigned char 指针转换为 std::byte 指针?
- javascript - 附加的 ajax 请求中断其他已经附加的 ajax 请求(纯 js)
- firebase - React-native ListView 排序数据
- python - 无法在 PyCharm 中键入字母或数字
- windows - 如何在 python Popen 中命名子进程?
- .net - 使用更改密钥反序列化 JSON?
- css - 不活动时禁用覆盖链接(移动设备)