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>
4

3 に答える 3

0

GridView の ObjectDataSource がありませんでした。コード ビハインドにデータを入力していましたが、明らかにそれを実行して CommandField を使用することはできません。

于 2009-03-17T13:15:36.157 に答える
0

GridView 内から PackageNames ODS を削除してみてください。よくわかりませんが、GridView 内に入れ子にするのは少し奇妙です。

于 2009-03-15T03:24:59.213 に答える
0

あなたのコードも私には問題ないようです。トラブルシューティングに役立つ可能性のあるいくつかのことを次に示します。

  1. EditItemTemplate の DropDownList と ObjectDataSource を単純なテキストに置き換えてみて、[編集] をクリックしたときにテキストが表示されるかどうかを確認してください。
  2. GridView を DataSource オブジェクトにフックして、GridView タグから OnRowEditing イベントを削除してみてください。次に、GridView が編集モードに切り替わるかどうかを確認します。
  3. ObjectDataSource を GridView の外に移動してみてください。違いがあるかどうかはわかりませんが、通常は屋外に置いています。

これにより何か変更があった場合はお知らせください。

于 2009-03-15T03:12:30.260 に答える