数据绑定后,复选框itemtemplate templatefield文本

时间:2010-07-27 18:42:58

标签: asp.net gridview itemtemplate

我的gridview中有以下复选框:

<asp:TemplateField HeaderText="Active">
    <ItemTemplate>
        <%# DataBinder.Eval(Container.DataItem, "Active")%>
        <asp:CheckBox ID="Active" runat="server"/>
    </ItemTemplate>
</asp:TemplateField>

它工作得非常好。我用bool值填充它。问题是它在gridview中显示字符串文本,如:

真[x] 假[] 真[x]

等等......我想只显示复选框。我在rowDataBound事件中尝试了这个:

if (result.Active)
   {
       ((CheckBox)e.Row.FindControl("Active")).Checked = true;
       ((CheckBox)e.Row.FindControl("Active")).Text = string.Empty;
   }

但它不起作用。有办法吗?

谢谢,

Pedro Dusso

1 个答案:

答案 0 :(得分:3)

为什么不使用CheckBoxField而不是TemplateField?

<asp:CheckBoxField DataField="Active" HeaderText="Active" />

如果由于插入/编辑而必须使用TemplateField,那么你应该能够

<asp:TemplateField>
     <ItemTemplate>
          <asp:CheckBox id="CheckBoxActive" runat="server" Checked='<%#Eval("Active") %>' />
     </ItemTemplate>
</asp:TemplateField>