データベースに保存されているキューにいる人の名前を表示するグリッドビューを使用しています。各人に「チェックイン」ボタンと「キャンセル」ボタンを生成する ItemTemplate があります。これらのボタンの 1 つをクリックすると、データベース内の列を変更するストアド プロシージャを呼び出して、グリッドビューで行が削除されるようにします。
私が抱えている問題は、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>