从网格视图复选框更新数据库
Update Database From Grid View Checkbox
我在 Web 表单上有一个网格视图,其中有一个包含 ID 的隐藏字段,我如何从 ID 字段捕获数据以用于我的更新语句?这就是我的语法......
HTML
<asp:GridView runat="server" ID="gridview2" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField DataField="weekofyear" HeaderText="Week" />
<asp:BoundField DataField="supportname" HeaderText="Name" />
<asp:BoundField DataField="supid" HeaderText="SupportIDName" Visible="false"/>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="TicketCompleted" runat="server" AutoPostBack="true" OnCheckedChanged="TicketCompletedCompleted_Click" Checked='<%# Convert.ToBoolean(Eval("TicketCompleted")) %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
C#
protected void TicketCompleted_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in dgRD.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
//Below captures the checkbox value (yes or no)
CheckBox chk = (CheckBox)row.FindControl("TicketCompleted");
if (chk.Checked)
{
//Here is where I will run the update
}
}
}
HTML:
<asp:BoundField DataField="weekofyear" HeaderText="Week" />
<asp:BoundField DataField="supportname" HeaderText="Name" />
<%--<asp:BoundField DataField="supid" HeaderText="SupportIDName" Visible="false"/>--%>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" Text='<%#Eval("supid") %>' ID="supid" Visible="false"></asp:Label>
</ItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="TicketCompleted" runat="server" AutoPostBack="true" OnCheckedChanged="TicketCompletedCompleted_Click" Checked='<%# Convert.ToBoolean(Eval("TicketCompleted")) %>' />
</ItemTemplate>
</asp:TemplateField>
C#
CheckBox chk = (CheckBox)row.FindControl("TicketCompleted");
if (chk.Checked)
{
string ID = ((Label)row.FindControl("supid")).Text;
}
我在 Web 表单上有一个网格视图,其中有一个包含 ID 的隐藏字段,我如何从 ID 字段捕获数据以用于我的更新语句?这就是我的语法......
HTML
<asp:GridView runat="server" ID="gridview2" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField DataField="weekofyear" HeaderText="Week" />
<asp:BoundField DataField="supportname" HeaderText="Name" />
<asp:BoundField DataField="supid" HeaderText="SupportIDName" Visible="false"/>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="TicketCompleted" runat="server" AutoPostBack="true" OnCheckedChanged="TicketCompletedCompleted_Click" Checked='<%# Convert.ToBoolean(Eval("TicketCompleted")) %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
C#
protected void TicketCompleted_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in dgRD.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
//Below captures the checkbox value (yes or no)
CheckBox chk = (CheckBox)row.FindControl("TicketCompleted");
if (chk.Checked)
{
//Here is where I will run the update
}
}
}
HTML:
<asp:BoundField DataField="weekofyear" HeaderText="Week" />
<asp:BoundField DataField="supportname" HeaderText="Name" />
<%--<asp:BoundField DataField="supid" HeaderText="SupportIDName" Visible="false"/>--%>
<asp:TemplateField>
<ItemTemplate>
<asp:Label runat="server" Text='<%#Eval("supid") %>' ID="supid" Visible="false"></asp:Label>
</ItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="TicketCompleted" runat="server" AutoPostBack="true" OnCheckedChanged="TicketCompletedCompleted_Click" Checked='<%# Convert.ToBoolean(Eval("TicketCompleted")) %>' />
</ItemTemplate>
</asp:TemplateField>
C#
CheckBox chk = (CheckBox)row.FindControl("TicketCompleted");
if (chk.Checked)
{
string ID = ((Label)row.FindControl("supid")).Text;
}