ASP.NET根据另一个下拉列表中已更改的事件填充下拉列表

时间:2009-08-28 18:18:45

标签: asp.net vb.net drop-down-menu

我想根据所选的流程步骤ddProzessschritt1

将具有适当凭据的人员填充下拉列表ddVerantwortlich1

如果我想使用datasource和databind更改它,它不起作用 我必须手动遍历查询返回的数据集中的表。然后它工作。但不是......

有什么问题?这是我的代码:

Protected Sub ddProzessschritt1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddProzessschritt1.SelectedIndexChanged
    'StefanSteiger.Debug.MsgBox("index changed!")

    Dim dsProcessResponsibleDataSet As Data.DataSet = New DataSet
    Dim strSQL As String = "SELECT BE_ID, (BE_Name + ' ' +BE_Vorname) as UserName FROM T_Benutzer WHERE BE_ID IN "
    strSQL += "(SELECT BEBG_BE FROM T_Benutzer_Benutzergruppen WHERE BEBG_BG IN "
    strSQL += "(SELECT ZO_BG_ID FROM T_DMS_ZO_Prozesse_Berechtigungen WHERE ZO_PROC_UID = '" + ddProzessschritt1.SelectedValue.ToString + "')) ORDER BY UserName"

    If StefanSteiger.DBcmds.GetDataSet(strSQL, dsProcessResponsibleDataSet) > 0 Then
        Me.ddVerantwortlich1.Items.Clear()
        For Each row As Data.DataRow In dsProcessResponsibleDataSet.Tables(0).Rows
            'StefanSteiger.Debug.MsgBox(row("UserName").ToString + " ¦ " + row("BE_ID").ToString)
            ddVerantwortlich1.Items.Add(New ListItem(row("UserName"), row("BE_ID")))
        Next
        'Me.ddVerantwortlich1.Dispose()
        'Me.ddProzessschritt1.DataSource = dsProcessResponsibleDataSet.Tables(0)
        'Me.ddVerantwortlich1.DataTextField = "UserName"
        'Me.ddVerantwortlich1.DataValueField = "BE_ID"
        'Me.ddVerantwortlich1.DataBind()
    Else
        'Me.ddProzessschritt1.Dispose()
        ddVerantwortlich1.Items.Add(New ListItem("Niemand verantwortlich.", Nothing))
    End If
End Sub

1 个答案:

答案 0 :(得分:1)

为什么在DropDown上调用Dispose?也许这就是问题所在。试一试!