代码之家  ›  专栏  ›  技术社区  ›  Dave

编辑时GridView中的DropDownList不可用

  •  2
  • Dave  · 技术社区  · 15 年前

    我有下面的设置。当我单击CommandField上的“编辑”链接时,会触发一个RowEditing事件,但该行不允许我编辑;具体来说,DropDownList不会出现。

    我的代码似乎符合我能找到的所有示例。

    我可能遗漏了一些非常基本的东西,因为我似乎是互联网上唯一有这个问题的人。我渴望再多一双眼睛。

    谢谢

        <asp:GridView ID="grdvMachine1" runat="server" AutoGenerateColumns="False" CellSpacing="2"
        CssClass="GridViewFormat" GridLines="None" Width="500px"
        OnRowUpdating="grdvMachine1_RowUpdating" OnRowUpdated="grdvMachine1_RowUpdated"
        OnRowEditing="grdvMachine1_RowEditing" OnRowDeleting="grdvMachine1_RowDeleting">
        <PagerSettings Position="Top" />
        <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
        <Columns>
            <asp:BoundField DataField="Day Of Week" HeaderText="Day Of Week" SortExpression="Day Of Week" />
            <asp:TemplateField HeaderText="Package" SortExpression="Package">
                <EditItemTemplate>
                    <asp:DropDownList ID="comboPackageNames"
                        runat="server"
                        DataSourceID="PackageNames"
                        DataTextField="PackageName"
                        DataValueField="PackageName"
                        SelectedValue='<%# Bind("Package") %>'>
                    </asp:DropDownList>
                    <asp:ObjectDataSource ID="PackageNames" runat="server" SelectMethod="GetSPPList"
                        TypeName="PCS.WebApp.DefaultSchedules">
                    </asp:ObjectDataSource>
                </EditItemTemplate>
                 <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Eval("Package") %>' />
                </ItemTemplate>
           </asp:TemplateField>
            <asp:CommandField ShowEditButton="true" ShowDeleteButton="true"/>
        </Columns>
        <RowStyle BackColor="#EEEEEE" ForeColor="Black" HorizontalAlign="Center" VerticalAlign="Middle" />
        <EmptyDataTemplate>
            There is no schedule for the selected machine
        </EmptyDataTemplate>
        <SelectedRowStyle BackColor="#008A8C" Font-Bold="False" ForeColor="White" />
        <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
        <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" HorizontalAlign="Center"
            VerticalAlign="Middle" />
        <AlternatingRowStyle BackColor="Gainsboro" />
    </asp:GridView>
    
    3 回复  |  直到 15 年前
        1
  •  0
  •   Jeremy    15 年前

    你的代码在我看来也不错。以下几点可能有助于您进行故障排除:

    1. 尝试用一些简单的文本替换EditItemTemplate的DropDownList和ObjectDataSource,然后查看单击“编辑”时文本是否显示。
    2. 尝试将ObjectDataSource移动到GridView之外。我不知道这是否有什么区别,但我通常把我的放在外面。

    如果这对您有什么影响,请告诉我们。

        2
  •  0
  •   andleer    15 年前

    尝试从GridView中删除PackageNames ODS。我不确定,但它嵌套在GridView中有点奇怪。

        3
  •  0
  •   Dave    15 年前