Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编辑时GridView中的DropDownList不可用_Gridview_.net 2.0_Drop Down Menu_Edititemtemplate - Fatal编程技术网

编辑时GridView中的DropDownList不可用

编辑时GridView中的DropDownList不可用,gridview,.net-2.0,drop-down-menu,edititemtemplate,Gridview,.net 2.0,Drop Down Menu,Edititemtemplate,我有下面的设置。当我单击CommandField上的“编辑”链接时,会触发一个RowEditing事件,但该行不允许我编辑;具体来说,DropDownList不会出现 我的代码似乎符合我能找到的所有示例 我可能遗漏了一些非常基本的东西,因为我似乎是互联网上唯一有这个问题的人。我渴望再多一双眼睛 谢谢 <asp:GridView ID="grdvMachine1" runat="server" AutoGenerateColumns="False" CellSpacing="2"

我有下面的设置。当我单击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>

所选机器没有时间表

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

  • 尝试用一些简单的文本替换EditItemTemplate的DropDownList和ObjectDataSource,然后查看单击“编辑”时文本是否显示
  • 尝试将GridView连接到数据源对象,并从GridView标记中删除OnRowEditing事件。然后查看GridView是否切换到编辑模式OK
  • 尝试将ObjectDataSource移动到GridView之外。我不知道这是否有什么区别,但我通常把我的放在外面

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

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

  • 尝试用一些简单的文本替换EditItemTemplate的DropDownList和ObjectDataSource,然后查看单击“编辑”时文本是否显示
  • 尝试将GridView连接到数据源对象,并从GridView标记中删除OnRowEditing事件。然后查看GridView是否切换到编辑模式OK
  • 尝试将ObjectDataSource移动到GridView之外。我不知道这是否有什么区别,但我通常把我的放在外面

  • 如果这对您有任何影响,请告诉我们。

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

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

    我没有用于GridView的ObjectDataSource。我在后面的代码中填充了它,但显然你不能这样做并使用CommandField。

    我没有用于GridView的ObjectDataSource。我在后面的代码中填充了它,但显然你不能这样做并使用CommandField。

    很高兴有选择答案或发布悬赏的提示。我已经忘记了这个问题。有选择答案或发布悬赏的提醒是很好的。我忘了这个问题。