2009-08-28 142 views
0

我想用基於選擇的工藝步驟ddProzessschritt1ASP.NET填充基於另一個下拉改變的事件下拉列表

正確的憑據的人來填充下拉列表ddVerantwortlich1

它不會,如果我想工作使用數據源和數據綁定來更改它 我必須手動循環查詢返回的數據集中的表。那麼它的工作。但沒有其他...

有什麼問題?在這裏我的代碼:

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 
+0

乍一看我沒有看到問題。你能詳細說明你正在經歷的不想要的行爲嗎?您在調試時看到了什麼(數據集是否填充了?是填充DDL的代碼塊?)。 – Mayo 2009-08-28 18:24:14

+0

這是一個Web應用程序(ASP.NET)還是一個桌面應用程序(WinForms)?如果它是一個Web應用程序,回傳和激活狀態可能是您的問題。 – David 2009-10-26 17:55:57

回答

1

爲什麼你調用Dispose下拉?也許這就是問題所在。試一試!

相關問題