2009-08-28 16 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

+0

これはWebアプリケーション(ASP.NET)またはデスクトップアプリケーション(WinForms)ですか?ウェブアプリの場合は、ポストバックや状態のロスが問題になる可能性があります。 – David

答えて

1

なぜあなたはDropDownでDisposeを呼び出しますか?多分それが問題です。試してみる!

関連する問題