2011-01-21 86 views
0

我在GridView中有一個模板字段,在編輯視圖中顯示覆選框,在普通視圖中顯示一些自定義文本。GridView的EditItemTemplate中的複選框Column

填充網格的查詢結果會返回到DataSet中。

在編輯視圖中,我無法獲得複選框以接受從DataSet(T/F格式)重新調用的列,因爲它表示它不是正確的類型。 即使我在列中返回「true」或1,它仍然無法工作。

我需要它,我需要轉換,但不能得到正確的語法,在這種情況下

<EditItemTemplate> 
       <asp:CheckBox ID="cbPostToFarm" runat="server" Checked='<% Bind("BOOL_COL")' /> 
      </EditItemTemplate> 

回答

0

我通過不直接綁定到數據集,而是創建一個強類型列表來解決問題。

我確定必須有一個語法竅門才能讓複選框直接綁定到DataSet,但爲了我放棄查找的簡單類型。

0

使用GridView的DataBound事件設定值。 DataBound事件內部:

確保您使用的行不是頁眉/頁腳行。
創建對CheckBox的引用。
創建對綁定數據的引用。
標記適當時選中的複選框。

1

這似乎對我來說(.NET的Visual Studio 2010)工作

<asp:TemplateField HeaderText="Ordered" SortExpression="Ordered"> 
         <ItemTemplate> 
          <asp:CheckBox ID="ID_CKBOX" runat="server" 
          Checked='<%#Eval("ordered") %>' /> 
         </ItemTemplate> 
         <ItemStyle Width="8px" /> 
        </asp:TemplateField> 

其中 '有序' 是select語句的數據庫字段的一個。

0

你太親近了!只是缺少#和結尾%>

<EditItemTemplate> 
<asp:CheckBox ID="cbPostToFarm" runat="server" Checked='<%# Bind("BOOL_COL") %>'/> 
</EditItemTemplate> 

請注意,檢查後使用單引號而不使用雙引號很重要。雙引號會導致錯誤。