定义模板列,当选择某一个记录进行编辑时,初始化DropDownList 的数据:
                            <asp:TemplateColumn HeaderText="合同负责人">
                                <ItemTemplate>
                                    <asp:Label ID="Label1" runat="Server" Text='<%# Eval("MemberName") %>'></asp:Label>
                                </ItemTemplate>
                                <EditItemTemplate>
                                    <asp:DropDownList ID="DpMemberList"  runat="Server" DataTextField="MemberName" DataValueField="MemberID"></asp:DropDownList>
                                </EditItemTemplate>


于是我尝试如下的代码
Protected Sub DBGrdList_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
            Me.DBGrdList.EditItemIndex = e.Item.ItemIndex
            Me.BindData()

            If Not Me.DBGrdList Is Nothing Then
                If Not e.Item Is Nothing Then
                    Dim dp As DropDownList = e.Item.Cells(4).FindControl("DpMemberList")
                    If Not dp Is Nothing Then
                        Dim DeptID As String = e.Item.Cells(5).Text
                        Dim obj As New DBController
                        Dim sqlstr As String = "select * from memberInfo where departmentId=" + DeptID
                        obj.BindDrpDownList("MemberName", "MemberID", sqlstr, dp)
                    End If
                End If
            End If
    End Sub

问题是:
在EditCommand中找不到DpMemberList下拉列表
可能是跳出该过程时才加载DpMemberList控件
因为在DBGrdList_CancelCommand中可能找到该控件

我该怎么办??
 我使用的是2003的示例代码,在2005中出现的如下问题。
2006-10-18

posted on 2006-10-19 10:45  一般一般  阅读(628)  评论(0编辑  收藏  举报