2013-08-28 84 views
2

我有一個類型位的數據表列「職員」。在我的網格視圖中,我添加了複選框的項目模板。如果數據綁定中「staff」列的值爲1,我想要顯示覆選框。其他明智選中..從搜索我寫了這樣如何將gridview上的複選框值與數據庫表的值綁定?

<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(); 

,但它顯示了一個錯誤「System.FormatException:字符串未被識別爲有效的布爾」請幫助

+0

檢查我的答案一nd的作品和測試 –

回答

2

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" /> 

後面的代碼:

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(); 
} 
+0

是的,我已經把它設置爲位類型。但顯示相同的錯誤@Samiey Mehdi – ARATHY

+0

我的回答編輯 –

+0

顯示錯誤「指定的演員是無效的」@Samiey Mehdi – ARATHY

2

測試和工程:

#UPDATE1

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

<ItemTemplate> 
    <asp:CheckBox ID="chk1" runat="server" Checked='<%#Convert.ToBoolean(Eval("staff")) %>' />  
</ItemTemplate> 
相關問題