如何将GridView上的复选框值与数据库表的值绑定?

ARA*_*THY 5 c# asp.net gridview

我有位类型的数据表列“ staff”。在我的网格视图中,我添加了复选框的项目模板。我想o显示是否选中了绑定数据“ staff”列的值= 1的复选框。其他明智未选中..从搜索中我已经这样写

<ItemTemplate>
   <asp:CheckBox ID="chk1" runat="server" Checked='<%# bool.Parse(Eval("staff").ToString()) %>'/>      
</ItemTemplate>

 DataSet ds = new DataSet();
 SqlDataAdapter adapter = new SqlDataAdapter("SELECT id,staff FROM staff_details  ", con1);
 adapter.Fill(ds);
 GridView1.DataSource = ds;
 GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)

但显示错误“ System.FormatException:无法将字符串识别为有效的布尔值”。请帮忙

Ahm*_*Din 5

测试和工作:

#更新1

Checked='<%#Convert.ToBoolean(Eval("staff")) %>'

<ItemTemplate>
   <asp:CheckBox ID="chk1" runat="server" Checked='<%#Convert.ToBoolean(Eval("staff")) %>' />      
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)


Sam*_*hdi 4

ASPX:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    <Columns>
        <asp:TemplateField HeaderText="ID">
            <ItemTemplate>
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Staff">
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("staff") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
Run Code Online (Sandbox Code Playgroud)

背后代码:

protected void Button1_Click(object sender, EventArgs e)
{
    string conStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\website\w2\App_Data\Database.mdf;Integrated Security=True;User Instance=True";
    SqlConnection con1 = new SqlConnection(conStr);
    con1.Open();
    DataSet ds = new DataSet();
    SqlDataAdapter adapter = new SqlDataAdapter("SELECT id,staff FROM staff_details  ", con1);
    adapter.Fill(ds);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    con1.Close();
}
Run Code Online (Sandbox Code Playgroud)