1

3列(CompanyName、Volume、counter)のGridviewがあります。counter列をすべてのボタンにしたいのですが、ユーザーがボタンをクリックすると、カウンターが1ずつ増えます。更新を適切に設定する方法がわかりません。指図。これが私がこれまでに持っているものです:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource1" 
        EmptyDataText="There are no data records to display.">
        <Columns>
            <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" 
                SortExpression="CompanyName" />
            <asp:BoundField DataField="Volume" HeaderText="Volume" 
                SortExpression="Volume" />
            <asp:ButtonField DataTextField="counter" HeaderText="counter" 
            ButtonType="button"/>

        </Columns>
    </asp:GridView>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:LiquorStoreConnectionString1 %>" 
        ProviderName="<%$ ConnectionStrings:LiquorStoreConnectionString1.ProviderName %>" 
        SelectCommand="SELECT [CompanyName], [Volume], [counter] FROM [Company]">
    </asp:SqlDataSource>

その特定の行でボタンが押されるたびに1ずつインクリメントするだけです。

4

2 に答える 2

1

あなたはこれを試すことができます:

... UpdateCommand="Update COMPANY SET counter=@Counter +1 WHERE CopmanyName=@Company"
<columns> 
    <asp:BoundField HeaderText="counter" DataField="Counter" />             
</columns>

バインドされたフィールド名が正しいことを確認してください。この+1がバインドされたフィールドで機能するかどうかを確認するためのテストは行っていません。そうでない場合は、OnRowCommandを使用してデータベースを手動で更新する必要があります。その後、ビューを再バインドして、更新されたカウンターを確認できます。さらに重要なことに、更新を実行できるように、あなたの会社の適切な主キーが表示されません...したがって、私のサンプルではCompanyNameを使用していますが、これは危険な危険です。

于 2012-10-24T19:04:28.637 に答える
0

データベースを更新しますか?gridviewrowコマンドでボタンクリックイベントをキャッチできます。以下のリンクをご覧 くださいhttp://msdn.microsoft.com/en-us/library/bb907626.aspx

于 2012-10-24T18:32:55.453 に答える