1

GridView 内の項目を編集できるようにしようとしています (DataSource はデータベース接続です)。私が見つけたすべての例には、複雑な例が実装されています。GridView でアイテムを編集できるようにするために必要な最も簡単な変更を知りたいです。

つまり、編集できるようにするには、次のように変更するにはどうすればよいですか?

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSourceWS">
        <Columns>
            <asp:CommandField ShowSelectButton="True" />
            <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True" SortExpression="id" />
            <asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" />
            <asp:BoundField DataField="ACCESS_TO" HeaderText="ACCESS_TO" SortExpression="ACCESS_TO" />
        </Columns>
    </asp:GridView>

明らかに、コードも追加する必要がありますが、これから始める方法がわかりません。

編集:指定したと思っていましたが、指定しませんでした-それはSQLDataSourceです。

4

2 に答える 2

0

レコードを編集するには、GridView が EditMode に入る必要があります。グリッドは、受け取ったコマンド (この場合は「編集」) に従ってモードを変更します。詳細については、グリッドビュー ページの「データ操作」セクションのコメントを参照してください。

コマンドを起動してグリッド上で編集モードに入るには、基本的に 3 つの方法があります。

  1. グリッドでAutoGenerateEditButtonプロパティを使用する
  2. 他の回答が述べたように、ShowEditButtonでCommandFieldを使用します。
  3. 次のように、内部にLinkBut​​tonを含むカスタムTemplateFieldを使用します。

<Columns>
...
    <asp:TemplateField>
        <ItemTemplate>
            <asp:LinkButton runat="server" Text="Edit" CommandName="Edit" />
        </ItemTemplate>
        <EditItemTemplate>
            <asp:LinkButton runat="server" Text="Update" CommandName="Update" />
            <asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel" />
        </EditItemTemplate>
    </asp:TemplateField>
...
</Columns>

その後は、使用している DataSource コントロールによって異なります。たとえば、 EntityDataSource では、 EnableUpdate ="true" を設定するだけです

于 2013-08-22T19:52:46.207 に答える
0

編集を有効にするために必要なことがいくつかあります

データ ソースが SQLDataSource であると仮定する

1)コマンド フィールドを girdview 列に追加します。

<asp:CommandField ButtonType="Button" EditText="Edit" ShowEditButton="true"/>

2)データ ソースに更新コマンドを追加します。

<asp:SqlDataSource ID="SqlDataSourceWS" runat="server" 
    ConnectionString="<%$ Connection String %>" 

    SelectCommand="  SELECT COMMAND HERE " 
    UpdateCommand="  UPDATE COMMAND HERE ">
    <UpdateParameters>
        <asp:Parameter Name="" />
        <asp:Parameter Name="" />
    </UpdateParameters>
</asp:SqlDataSource>

コマンド フィールドとその使用方法の詳細については、 Microsoft Developer Network のドキュメントを参照してください。

編集

項目を更新する方法を示す SQLDatasource の非常に簡単な例を次に示します。

   <asp:SqlDataSource ID="sqlMeetings" runat="server" 
            ConnectionString="<%$ connection %>" 

            SelectCommand="SELECT  [meetingid]
                              ,[groupname]
                              ,[meetingtime]
                              ,[meetingdate]
                          FROM [DCMS].[dbo].[tbl_meetings] " 
            UpdateCommand="UPDATE tbl_meetings 
                           SET meetingdate = @meetingdate, meetingtime = @meetingtime 
                            WHERE meetingid = @meetingid">
            <UpdateParameters>
                <asp:Parameter Name="meetingdate" />
                <asp:Parameter Name="meetingtime" />
            </UpdateParameters>
        </asp:SqlDataSource>

上記の例から、データベースから 3 つのフィールドを選択していますが、更新できるのは 2 つ (meetingdate と meetingtime) のみであることがわかります。

于 2013-08-22T19:26:12.737 に答える