【发布时间】:2009-08-28 18:18:45
【问题描述】:
我想根据所选流程步骤 ddProzessschritt1 使用具有适当凭据的人员填充下拉列表 ddVerantworlich1
如果我想使用数据源和数据绑定来更改它,它不起作用 我必须手动遍历查询返回的数据集中的表。然后它工作。但不是其他...
有什么问题?这是我的代码:
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
【问题讨论】:
-
乍一看我没有发现问题。您能否详细说明您遇到的不良行为?调试时看到了什么(数据集是否填充?填充 DDL 的代码块是否已执行?)。
-
这是 Web 应用程序 (ASP.NET) 还是桌面应用程序 (WinForms)?如果它是一个网络应用程序,回发和丢失状态可能是您的问题。
标签: asp.net vb.net drop-down-menu