ASP.NET Gridview按钮

时间:2012-10-24 18:23:18

标签: c# asp.net sql gridview

我有一个有3列的Gridview(CompanyName,Volume,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。

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

UpdateCommand="Update COMPANY SET counter=@Counter +1 WHERE CopmanyName=@Company"


         <columns> 
              <asp:BoundField HeaderText="counter" DataField="Counter" />             
          </columns>

确保绑定的字段名称正确。 我还没有测试过这个+ 1是否适用于绑定字段。如果没有,那么我们将不得不使用OnRowCommand手动更新数据库,然后您可以重新绑定视图并查看更新的计数器。更重要的是,我没有为您的公司看到一个很好的主键,因此您可以进行更新......所以我的样本使用的是CompanyName,这就是危险的危险。

答案 1 :(得分:0)

你想更新数据库吗? 您可以在gridview row命令中捕获按钮单击事件。 看看下面给出的链接 http://msdn.microsoft.com/en-us/library/bb907626.aspx