2013-05-09 60 views
0

我需要讓CheckBox與我的GridView一起工作,因此它會顯示從數據庫中讀取的複選框是否被選中。如何獲取CheckBox與ItemTemplate配合使用

SArchive - 複選框字段 - 是數據庫中的位字段。

如果DBNull我不想在複選框中打勾。不幸的是,目前它在複選框旁顯示了真或假的文字。當我編輯具有true的記錄時,該複選框未被選中,即使它在數據庫中爲真。

截圖:未編輯

enter image description here

截圖:編輯模式

enter image description here

代碼:

<ItemTemplate> 
    <asp:CheckBox ID="Label7" runat="server" Text='<%# Eval("SArchive") %>' > 
    </asp:CheckBox> 
</ItemTemplate> 
<EditItemTemplate> 
    <asp:CheckBox ID="cb1" runat="server" 
        Text='<%# Eval("SArchive") == DBNull.Value ? false : Convert.ToBoolean(Eval("SArchive"))%>'> 
    </asp:CheckBox> 
</EditItemTemplate> 

任何幫助,請,謝謝。 茶。

+0

你需要與你的代碼中設置了'Checked'屬性,而不是'Text'。 – MichaelJCox 2013-05-09 16:03:02

+0

現在給我一個'指定的演員是無效的。'綁定GridView時。 – TeaDrinkingGeek 2013-05-09 17:07:49

回答

2

您必須設置Checked屬性:

<asp:CheckBox ID="Label7" runat="server" Checked='<%# Eval("SArchive") == DBNull.Value ? false : Convert.ToBoolean(Eval("SArchive")) %>' > 
+0

現在給我一個'指定的演員是無效的'。綁定GridView時。 – TeaDrinkingGeek 2013-05-09 17:09:47

+0

它正在從數據庫讀取Null時發生。所以我的DBNull檢查不起作用,有什麼想法? Thx – TeaDrinkingGeek 2013-05-09 17:19:52

+0

您是否需要在三元組的真實案例中評估「SArchive」?你能回到真實嗎? – MichaelJCox 2013-05-09 17:28:44

相關問題