如何根据 SQL table 行值将复选框添加到 GridView 和 select/deselect
How to add a checkbox to a GridView and select/deselect based on a SQL table row value
<asp:GridView ShowHeaderWhenEmpty="false" ID="gvSubTasks" runat="server" AutoGenerateColumns="false" ClientIDMode="Static">
<Columns>
<asp:BoundField DataField="SN" HeaderText="SN" />
<asp:BoundField DataField="ST" HeaderText="ST" />
<%-- ADD ANOTHER COLUMN HERE WITH THE CHECKBOX --%>
</Columns>
</asp:GridView>
code-behind:
string strST = @"SELECT
,A345 'SN'
,M3w 'ST'
,A667 'CT' -- 0 for not complete and 1 for complete
FROM [mydb].[dbo].[table1]";
public DataTable RT()
{
using (SqlConnection con = new SqlConnection(gloString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = strST;
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
}
}
}
gvSubTasks.DataSource = RT();
gvSubTasks.DataBind();
我如何在我的 gridview 每行中添加一个复选框,带有 header "Complete" 并基于 CT
,pre-select 如果复选框是 1
而不是 select 复选框,如果它是 0
。
为带有复选框的列添加此项
<asp:TemplateField HeaderText="Complete">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("CT").ToString() == "1" ? true : false %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
只需添加
<asp:CheckBoxField DataField="CT" HeaderText="CT" </asp:CheckBoxField>
如果 CT 是 CHAR
值,您可以像 CASE WHEN CT = '1' THEN 1 ELSE 0 END as CT
这样修改您的语句
<asp:GridView ShowHeaderWhenEmpty="false" ID="gvSubTasks" runat="server" AutoGenerateColumns="false" ClientIDMode="Static">
<Columns>
<asp:BoundField DataField="SN" HeaderText="SN" />
<asp:BoundField DataField="ST" HeaderText="ST" />
<%-- ADD ANOTHER COLUMN HERE WITH THE CHECKBOX --%>
</Columns>
</asp:GridView>
code-behind:
string strST = @"SELECT
,A345 'SN'
,M3w 'ST'
,A667 'CT' -- 0 for not complete and 1 for complete
FROM [mydb].[dbo].[table1]";
public DataTable RT()
{
using (SqlConnection con = new SqlConnection(gloString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = strST;
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
}
}
}
gvSubTasks.DataSource = RT();
gvSubTasks.DataBind();
我如何在我的 gridview 每行中添加一个复选框,带有 header "Complete" 并基于 CT
,pre-select 如果复选框是 1
而不是 select 复选框,如果它是 0
。
为带有复选框的列添加此项
<asp:TemplateField HeaderText="Complete">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("CT").ToString() == "1" ? true : false %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
只需添加
<asp:CheckBoxField DataField="CT" HeaderText="CT" </asp:CheckBoxField>
如果 CT 是 CHAR
值,您可以像 CASE WHEN CT = '1' THEN 1 ELSE 0 END as CT