简体   繁体   English

从C#asp.net中的数据库设置复选框值

[英]Set checkbox value from database in C# asp.net

I have 8 checkboxes . 我有8个checkboxes
On the page load event I want to write the code such that page load事件中,我想编写如下代码
if the value in the database is "Submitted" the checkbox will appear checked . 如果databasevalue"Submitted"checkbox将显示为checked
If the value is "Not Submitted" it will appear unchecked . 如果该value "Not Submitted" ,它将显示为unchecked

you can have something like this 你可以有这样的事情

if(!Page.IsPostBack)
{
     var isChecked = dbvalue.ToLower() == "submitted" ? true : false;
     for (var i = 0; i < 8;i++ )
     {
         CheckBox chk = (CheckBox)Form.FindControl("chk" + i);
         if(chk != null) chk.checked = isChecked;
     }
}

You can check the values like this 您可以检查像这样的值

if(!Page.IsPostBack)
{
    if(dbvalue=="Submitted")
    {
      chk1.checked=true;
      chk2.checked=true;
      chk3.checked=true;
      chk4.checked=true;
      chk5.checked=true;
      chk6.checked=true;
      chk7.checked=true;
      chk8.checked=true;
    }
    else if(dbvalue=="Not Submitted")
    {
        chk1.checked=false;
      chk2.checked=false;
      chk3.checked=false;
      chk4.checked=false;
      chk5.checked=false;
      chk6.checked=false;
      chk7.checked=false;
      chk8.checked=false;
    }

}

If don't want to do anything in the code-behind, a faster and easy method would be to create a new column of data type bit on the select query and then just bind the checkbox to that. 如果不想在后面的代码中做任何事情,那么一种更快,更简单的方法是在选择查询上创建一个数据类型为bit的新列,然后将复选框绑定到该列。 0 = false and 1 = true. 0 =假和1 =真。 Example would be: 例如:

SELECT
CAST((CASE WHEN SubmitColumn = 'Submitted' THEN
    1
ELSE
    0
END) AS BIT) AS chkValue

FROM Table_1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM