我有一个有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。
答案 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