我正在遍历一个列表框,我需要获得与执行.selectvalue时相同的值,但无需选择该行。这就是我现在的做法,而且似乎很愚蠢。
For intCtr = 0 To lstUserRoleAll.Items.Count -1
lstUserRoleAll.SelectedIndex = intCtr
InsertUserRoles(lstUserRoleAll.SelectedValue)
Next
我已经读到lstUserRoleAll.Items(intCtr).value
应该有效,但是value并不是其中的一员。另外,lstUserRoleAll.Items(intCtr).tostring
为我提供了文本“ System.Data.DataRowView”。
当然有更好的方法可以做到这一点。
这是我用来添加行的代码:
Dim rsSelectedGroups As DataTable
strSQL = "SELECT UID, Name "
[Rest of query]
rsSelectedGroups = DataAccess.GetDataTable(strSQL)
lstUserRoleCurrent.DataSource = rsSelectedGroups
lstUserRoleCurrent.ValueMember = "UID"
lstUserRoleCurrent.DisplayMember = "Name"
答案 0 :(得分:0)
由于我用数据表填充了列表框,因此以下代码有效。我没有意识到那是返回的东西。
For intCtr = 0 To lstUserRoleAll.Items.Count
InsertUserRoles(lstUserRoleAll.Items(intCtr).Item("UID"))
Next