Bind value to selected items

45 views Asked by At

I need to use data from main menu in another method that involved sub menu and main menu. But selected item can only bind two value. I tried another way but it seems the value cannot be retrieved or idk how to retrieved it. Please help me.

Public Sub BindDataToListBox(ByVal menuData As DataTable, ByVal dikunciListBox As ListBox,
                          ByVal dibukaListBox As ListBox, ByVal dikunci1ListBox As ListBox, ByVal dibuka1ListBox As ListBox)

    Dim lastMainMenu As String = ""

    For Each row As DataRow In menuData.Rows
        Dim objectId As String = row("OBJECTID").ToString()
        Dim objectDesc As String = row("OBJECTDESC").ToString()
        Dim objectType As String = row("OBJECTTYPE").ToString()
        Dim iAllowValue As String = row("IALLOW").ToString()

        If String.IsNullOrEmpty(iAllowValue) OrElse iAllowValue = "0" Then
            dikunciListBox.Items.Add(New ListItem(objectDesc, objectId))
        ElseIf iAllowValue = "1" Then
            Dim dibukaItem As New ListItem(objectDesc, objectId)

            dibukaItem.Attributes("MainMenuObjectId") = objectId
            dibukaItem.Attributes("MainMenuObjectDesc") = objectDesc

            dibukaListBox.Items.Add(dibukaItem)

            Dim submenus As DataTable = Nothing
            submenus = objClass.GetSubMenuDataPR(ddlIdStaff.SelectedItem.Value, objectId)

            If submenus IsNot Nothing AndAlso submenus.Rows.Count > 0 Then

                Dim hasIAAllowZero As String = If(submenus.AsEnumerable().Any(Function(subRow) Not IsDBNull(subRow("IALLOW")) AndAlso Convert.ToDecimal(subRow("IALLOW")) = 0), "True", "False")
                Dim hasIAAllowOne As String = If(submenus.AsEnumerable().Any(Function(subRow) Not IsDBNull(subRow("IALLOW")) AndAlso Convert.ToDecimal(subRow("IALLOW")) = 1), "True", "False")

                If hasIAAllowZero = "True" OrElse hasIAAllowZero Is Nothing Then
                    DisplayMenuLabelClose(objectDesc, objectId)
                End If

                If hasIAAllowOne = "True" Then
                    DisplayMenuLabel(objectDesc, objectId)
                End If

                For Each subRow As DataRow In submenus.Rows
                    Dim subObjectId As String = subRow("OBJECTID").ToString()
                    Dim subObjectDesc As String = subRow("OBJECTDESC").ToString()
                    Dim subIAAllowValue As String = subRow("IALLOW").ToString()

                    If String.IsNullOrEmpty(subIAAllowValue) OrElse subIAAllowValue = "0" Then
                        Dim dikunci1Item As New ListItem(subObjectDesc, subObjectId)

                        dikunci1Item.Attributes("MainMenuObjectId") = objectId
                        dikunci1Item.Attributes("MainMenuObjectDesc") = objectDesc

                        dikunci1ListBox.Items.Add(dikunci1Item)
                    ElseIf subIAAllowValue = "1" Then
                        Dim dibuka1Item As New ListItem(subObjectDesc, subObjectId)

                        dibuka1Item.Attributes("MainMenuObjectId") = objectId
                        dibuka1Item.Attributes("MainMenuObjectDesc") = objectDesc

                        dibuka1ListBox.Items.Add(dibuka1Item)
                    End If
                Next
            End If
        End If
    Next
End Sub
0

There are 0 answers