代码之家  ›  专栏  ›  技术社区  ›  minty

GridView中的复选框字段不会绑定到数据库中的字符串字段

  •  1
  • minty  · 技术社区  · 17 年前

    如何将gridview中的checkboxfield绑定到作为字符串的底层db字段。字符串不是“1”就是“0”,但尽管如此,gridview不会愿意绑定到它。我该怎么办。在gridview中有一个复选框并在数据库(或底层数据源)中获取和设置字符串的最佳方法是什么?

    3 回复  |  直到 17 年前
        1
  •  6
  •   abatishchev Karl Johan    14 年前

    这应该有效:

    Checked='<%# DataBinder.Eval(Container.DataItem, "MyStringField") = "1" %>'
    

    通常,复选框值会映射到数据库中的位值,这样就不会出现此问题。

        2
  •  1
  •   Andrew Rollings    17 年前

    checkboxfield绑定到布尔值。 您可以将字符串转换为绑定表达式中的布尔值,或者将其转换为DB返回。

    对于数据库来说,将复选框状态存储为一个位而不是一个字符串更有意义。那么这个问题就会完全消失。

    当然,如果需要存储第三个“灰色”状态,这会稍微复杂一些,但是仍然可以将状态存储为int。

        3
  •  1
  •   Edwin de Koning Umair Baig    14 年前

    我在VB中工作,我尝试过这样的事情。

    <asp:checkbox runat="server" id="chkCastCool" enabled="false" 
         checked='<%CType(DataBinder.Eval(Container.DataItem,"Cast_Cool").ToString().Replace("Y","True").Replace("N","False"),Boolean)%>'/>
    
    推荐文章