Добавление элементов в DropViewownlist DetailView в Вставить шаблон ITem - PullRequest
0 голосов
/ 13 января 2012

У меня есть деталь, в которой я использовал Dropdownlist для шаблона элемента Insert, и я пытаюсь добавить элементы в Dropdown, используя код vb.net, используя для цикла bu, когда Page Runs добавляет значения Пять раз, потому что общее количество строк в подробном представлениипять Пожалуйста, помогите мне выбраться из этого Вот мой код

If Me.IsPostBack Then



            If Page.User.Identity.Name = "gate" Then
                For Each DetVW As DetailsViewRow In DetailsView1.Rows
                    Dim ddltype As DropDownList = CType(DetVW.FindControl("DDLTYPE"), DropDownList)

                    ddltype.Items.Add(New ListItem("", ""))
                    ddltype.Items.Add(New ListItem("Sugar Loading", "SL"))
                    ddltype.Items.Add(New ListItem("Molasses Unloading", "MU"))
                    ddltype.Items.Add(New ListItem("General Vehicle", "GV"))
                    ddltype.Items.Add(New ListItem("Ethanol Loading", "EL"))
                    ddltype.Items.Add(New ListItem("Bagasses Unloading", "BU"))
                    Label4.Text = "01"

                Next
            ElseIf Page.User.Identity.Name = "bhone" Then

                For Each DetVW As DetailsViewRow In DetailsView1.Rows
                    Dim ddltype As DropDownList = CType(DetVW.FindControl("DDLTYPE"), DropDownList)

                    ddltype.Items.Add(New ListItem("", ""))
                    ddltype.Items.Add(New ListItem("Sugar Loading", "SL"))
                    ddltype.Items.Add(New ListItem("Molasses Unloading", "MU"))
                    ddltype.Items.Add(New ListItem("General Vehicle", "GV"))
                    ddltype.Items.Add(New ListItem("Ethanol Loading", "EL"))
                    ddltype.Items.Add(New ListItem("Bagasses Unloading", "BU"))
                    Label4.Text = "02"
                Next
            ElseIf Page.User.Identity.Name = "ujl" Then
                For Each DetVW As DetailsViewRow In DetailsView1.Rows
                    Dim ddltype As DropDownList = CType(DetVW.FindControl("DDLTYPE"), DropDownList)

                    ddltype.Items.Add(New ListItem("", ""))
                    ddltype.Items.Add(New ListItem("Cotton Unloading", "CU"))
                    ddltype.Items.Add(New ListItem("Yarn Loading", "YL"))
                    Label4.Text = "03"
                Next
            End If
        End If

Ответы [ 2 ]

0 голосов
/ 25 апреля 2013

мы можем использовать только asp.net

If UserRole = "Admin" Then
    DropDownList5.Items.Add(New ListItem("text", "value"))
    DropDownList5.Items.Add(New ListItem("text1", "value1"))
else
    DropDownList5.Items.Add(New ListItem("text2", "value2"))
End If
0 голосов
/ 13 января 2012

Я не верю, что DetailsViewRow является контейнером именования, поэтому для каждой строки он найдет один и тот же выпадающий список и заполняет его пять раз.
IMO, вам не нужно повторятькаждая строка - просто работа над деталями просмотра.Например,

If Page.User.Identity.Name = "gate" Then
    Dim ddltype As DropDownList = CType(DetailsView1.FindControl("DDLTYPE"), DropDownList)
    ddltype.Items.Add(New ListItem("", ""))
    ddltype.Items.Add(New ListItem("Sugar Loading", "SL"))
    ddltype.Items.Add(New ListItem("Molasses Unloading", "MU"))
    ddltype.Items.Add(New ListItem("General Vehicle", "GV"))
    ddltype.Items.Add(New ListItem("Ethanol Loading", "EL"))
    ddltype.Items.Add(New ListItem("Bagasses Unloading", "BU"))
    Label4.Text = "01"
ElseIf Page.User.Identity.Name = "bhone" Then
....

Другим способом было бы посмотреть на свойство RowState, чтобы выбрать строку в режиме вставки.Например,

If Page.User.Identity.Name = "gate" Then
   For Each DetVW As DetailsViewRow In DetailsView1.Rows
      If DetVW.RowState = DataControlRowState.Insert Then
        Dim ddltype As DropDownList = CType(DetailsView1.FindControl("DDLTYPE"), DropDownList)
        ddltype.Items.Add(New ListItem("", ""))
        ddltype.Items.Add(New ListItem("Sugar Loading", "SL"))
        ddltype.Items.Add(New ListItem("Molasses Unloading", "MU"))
        ddltype.Items.Add(New ListItem("General Vehicle", "GV"))
        ddltype.Items.Add(New ListItem("Ethanol Loading", "EL"))
        ddltype.Items.Add(New ListItem("Bagasses Unloading", "BU"))
        Label4.Text = "01"
        Exit For
      End If
   Next
ElseIf Page.User.Identity.Name = "bhone" Then
....
...