zoukankan      html  css  js  c++  java
  • IBatis.net学习笔记_gridview不自动生成nullable列的问题

    经过试用发现一个问题:
           当在类里使用泛型来处理nullable的字段时,如果对用databind方法进行数据编写的如gridview,formview,detaisview等控件.采用自动生成列将得不到实体类里声明为nullable的列值.但是在程序里通过entity.attribute()是可以得到这个字段里的值的.这就说明问题不在于实体类或者IBtais上,而在于gridview控件上.
           通过搜索网页,发现gridview有一个IsBindableType的方法,用于检测并处理绑定列的类型,而默认的此方法并未处理nullable类型的字段,所以造成gridview不能自动生成列.给出的解决方法是重写IsBindableType方法:
    public static bool IsNullableType(Type type)
    {
        return type.IsGenericType &&
          type.GetGenericTypeDefinition() == typeof(Nullable<>);
    }
    通过上面的方法来检测nullable类型.
    public override bool IsBindableType(Type type)
    {           
        return NullableHelper.IsNullableType(type)
          || base.IsBindableType(type);
    }

  • 相关阅读:
    docker使用
    window版docker安装及配置
    mysql命令
    xshell
    git 命令
    分页器原理
    PCL-Kinfu编译手册
    cmake-add_definitions
    cmake-include_directories
    cmake-source_group
  • 原文地址:https://www.cnblogs.com/erqie/p/767039.html
Copyright © 2011-2022 走看看