C# 如果SQL数据=1,则将复选框标记为选中

C# 如果SQL数据=1,则将复选框标记为选中,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我的sql server数据库中有一个名为“option_key”的列,它是一个1或0的位列(1表示正确答案,0表示错误)。 我创建了一个web表单,用于查询数据库并将数据返回到几个不同的文本框和GridView中(它基本上是一个搜索项目并返回所有相关信息的表单)。我不熟悉C#和ASP,但基本上已经完成了 但是,在我的一生中,我都不知道如何在单击“搜索”按钮并填充表单上的字段后将我的复选框显示为选中状态。本质上,我需要的是,如果数据库中的行=1,则复选框显示为选中,如果行=0,则不选中其他复选框

我的sql server数据库中有一个名为“option_key”的列,它是一个1或0的位列(1表示正确答案,0表示错误)。 我创建了一个web表单,用于查询数据库并将数据返回到几个不同的文本框和GridView中(它基本上是一个搜索项目并返回所有相关信息的表单)。我不熟悉C#和ASP,但基本上已经完成了

但是,在我的一生中,我都不知道如何在单击“搜索”按钮并填充表单上的字段后将我的复选框显示为选中状态。本质上,我需要的是,如果数据库中的行=1,则复选框显示为选中,如果行=0,则不选中其他复选框。如果“我的数据库”列中的行=1,我将尝试在复选框中显示复选标记。我没有复选框的代码,因为我完全迷路了,但下面是表单的一些代码,如果这有助于澄清的话:

 SqlDataAdapter sda3 = new SqlDataAdapter("select(select item_id from item_header ih where related_item_header_id = ih.item_header_id) as [Enemy Item ID], (select item_stem from item_header ih where related_item_header_id = ih.item_header_id) as [Item Stem],[social_order_type] as [Type] FROM[AvokaItemDev].[dbo].[social_order] sc join item_header ih on sc.item_header_id = ih.item_header_id  join social_order_type sct on sc.social_order_type_id = sct.social_order_type_id where item_id ='" + cloneItemID.Text + "'", con);
        DataSet dt3 = new DataSet();
        sda3.Fill(dt3);
        GridView3.DataSource = dt3;
        GridView3.DataBind();


//textbox code
 SqlCommand com12;
        String str12;
        //item_detail code for item status
        str12 = "select m.mcs_desc from mcs_code m left join item_header h on m.mcs_code_id = h.mcs_code_id where h.item_id ='" + cloneItemID.Text + "'";
        com12 = new SqlCommand(str12, con);
        SqlDataReader readerTwelve = com12.ExecuteReader();
        if (readerTwelve.Read())
        {
            txtMCSdesc`enter code here`.Text = readerTwelve["MCS_desc"].ToString();
            readerTwelve.Close();
        }

所有
复选框
控件都有一个属性IsChecked。运行查询时,可以执行以下操作:

bool bChecked = row == 1 ? true : false;
checkbox.IsChecked = bChecked;

这本身是行不通的。它本质上是伪代码。但是,这个故事的寓意是,当您查看数据库时,为
复选框的
IsChecked
参数赋值。

我并不完全理解,但是如果您想将复选框作为gridview的一列进行管理,可以将其放在模板字段中:

<asp:TemplateField HeaderText="Header">
                <ItemTemplate>
                    <asp:CheckBox ID="chk" runat="server" Checked='<%# ((string)Eval("row") == "1") %>' />
                </ItemTemplate>

            </asp:TemplateField>


您的代码在哪里?有几种方法可以做到这一点。发布你的内容,这样我们就可以给你一个与你正在做的匹配的答案。我现在没有与复选框相关的代码,因为我完全迷路了。下面是我的复选框和gridview代码片段,希望能澄清一些问题:我不相信可能有重复,因为这是在加载事件中尝试填充复选框,但我尝试在按钮单击时填充复选框。按钮单击是一个事件,就像表单加载一样。原理应该是一样的,只是触发它的事件会不同。