我正在使用一个网格视图,它显示存储在数据库中的队列中的人的姓名。我有一个 ItemTemplate 为每个人生成“签入”和“取消”按钮。单击其中一个按钮后,我想调用一个存储过程,该过程更改我的数据库中的一列,使其在我的网格视图中下降。
我遇到的问题是如何在我的 C# 中定位一个单独的框,所以我知道我传递给我的存储过程的内容。我不知道如何将该按钮连接到该行其余部分的信息。
<asp:GridView ID="Queue" runat="server"
               GridLines="None" SkinID="StatusGridSkin"
               AutoGenerateColumns="False" DataSourceID="DisplayQueueSource"
               EmptyDataText="No Wait Time"
               CellPadding="0" CellSpacing="10"
               OnItemCommand="OnGridItemCommand" PropertName="Date" DataKeyField="ID">
    <Columns>
         <asp:BoundField DataField="FirstName" HeaderText="Name"
                         ReadOnly="True" SortExpression="FirstName" />
         <asp:BoundField DataField="LastName" HeaderText=""
                         ReadOnly="True" SortExpression="LastName" />
         <asp:BoundField DataField="Date" DataFormatString="{0:hh:mm tt}"
                         HeaderText="Check In" HtmlEncode="False"
                         SortExpression="EndTime" />
         <asp:TemplateField ShowHeader="False"> 
             <ItemTemplate> 
                  <asp:Button ID="Checkin" runat="server"
                              CausesValidation="false" CommandName="Checkin"
                              Text="Check in"  CommandName="Checkin"/> 
             </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField ShowHeader="False"> 
             <ItemTemplate> 
                 <asp:Button ID="Cancel" CommandName="MyButtonClick"
                             CommandArgument='<%# Container.DataItemIndex %>'
                             runat="server" CausesValidation="false"
                             Text="Cancel"  CommandName="Cancel"/> 
             </ItemTemplate> 
         </asp:TemplateField> 
     </Columns>
 </asp:GridView>