有没有更简单的方法来做到这一点?
Is there an easier way to do this?
我正在遍历列表框,我需要获得与执行 .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"
因为我用数据表填充了列表框,所以下面的代码有效。我没有意识到那是被退回的东西。
For intCtr = 0 To lstUserRoleAll.Items.Count
InsertUserRoles(lstUserRoleAll.Items(intCtr).Item("UID"))
Next
我正在遍历列表框,我需要获得与执行 .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"
因为我用数据表填充了列表框,所以下面的代码有效。我没有意识到那是被退回的东西。
For intCtr = 0 To lstUserRoleAll.Items.Count
InsertUserRoles(lstUserRoleAll.Items(intCtr).Item("UID"))
Next