hey

im doing a project and am having problem getting this code correct could you please have a look at it and help me understand were i am making the mistake

the code

Private Sub m_buttonAddUserRole_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_buttonAddUserRole.Click
        Dim roleIndex As Integer = ListBox1.SelectedIndex
        If (roleIndex = -1) Then
            Return
        End If
        ' Get the current user index.
        Dim userIndex As Integer = ListBox2.SelectedIndex
        ' Should we ignore the the event?
        If (userIndex = -1) Then
            Return
        End If
        ' Get the identifiers.
        Dim userID As Integer = CType(ListBox1.Rows(userIndex)("user_id"), Int32)
        Dim roleID As Integer = CType(m_roleTable.Rows(roleIndex)("role_id"), Int32)
end sub

the errors says


'Rows' is not a member of 'System.Windows.Forms.ListBox'.

why is this

Recommended Answers

Are you just trying to get the value from the .SelectedItem in the ListBox?
.reason asking: you already have the .SelectedIndex.

Jump to Post

is your listbox databound? do you use DisplayMember and Valuemember properties?
If you DO NOT, you can NOT get SelectedValue property.

Jump to Post

Dim userID As Integer = CType(ListBox1.SelectedItem, Int32) will error since you cannot convert a String to an Integer.
.To get the value, use something as: Dim userID As String = ListBox1.SelectedItem .

Jump to Post

All 11 Replies

Are you just trying to get the value from the .SelectedItem in the ListBox?
.reason asking: you already have the .SelectedIndex.

yes and ni have managed to fix that problem by using the code

Dim userID As Integer = CType(ListBox1.SelectedItem, Int32)
        Dim rightID As Integer = CType(ListBox2.SelectedItem, Int32)

but now i have this problem could you tell me were i am going wrong

' Search for an existing row.
        Dim rows As DataRow() = m_userRightTable.[Select]("right_id = " & rightID & " AND user_id = " & userID)

is your listbox databound? do you use DisplayMember and Valuemember properties?
If you DO NOT, you can NOT get SelectedValue property.

Dim userID As Integer = CType(ListBox1.SelectedItem, Int32) will error since you cannot convert a String to an Integer.
.To get the value, use something as: Dim userID As String = ListBox1.SelectedItem .

i have managed to solve this issue but i cant get this errors to go away :(

' Search for an existing row.
        Dim rows As DataRow = "Select right_id = " & rightID & " AND user_id = " & userID & 

        ' Is there already an association?
        If (rows.Length > 0) Then
            Return
        End If

Is the error on line.3?Then .Remove the last "&" since it does not add anything else to the value of your rows .

DO:

Dim rows As DataRow() = "Select right_id = '" & rightID & "' AND user_id = '" & userID & "'"

the error i am getting is

Error 1 Value of type 'String' cannot be converted to '1-dimensional array of System.Data.DataRow'.

i dont no wat that means i neva come across it befroe

rows() is an Array, as: dim rows() as string={"row 1","row 2","row etc."} and if you want a value from it, use msgbox(rows(2)) .
Since you are trying to only set 1 String to a String Array, you will need to set it as I did, not as setting it to a String only as = "blah" & "blah".

Also, not a db.coder here, though it looks like your error line is a connection.string for a database, not to get the rows from a DataTable.

Sorry, this way:

Dim rows As DataRow() = table.[Select]("right_id = '" & rightID & "' AND user_id = '" & userID & "'")
Dim rows As DataRow() = "cg_security_role_right.[Select]right_id = '" & rightID & "' AND user_id = '" & userID & "'")

        ' Is there already an association
        If (rows.Length > 0) Then
            Return
        End If

the same errors here still i dont get why

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.