• GridView 几个受保护的方法的注释


    CreateChildTable 方法:
    此方法为 GridView 创建一个表格,正常来说,GridView 只包含一个子控件,也就是使用此方法
    创建的一个表格,如果需要创建自己的表格,可以重写此方法。

    CreateRow 方法:
    此方法是一个受保护的虚拟方法,GridView 中的每一行都是通过调用此方法来创建的,
    如果需要对行进行一些特殊的处理,可以从 GridViewRow 继承子类,然后使用此方法返回此子类,
    此方法只负责创建行对象,并没有把行添加到 GridView 里。

    InitializeRow 方法:
    此方法被始化 GridView 中的每一行,在一个行被创建后,只是一个空行,连一个单元格都没有,
    在一个行被创建后,如果行的类型为 DataControlRowType.Pager 的话,就会调用 InitializePager
    方法对行进行初始化,否则将调用 InitializeRow 方法对行进行初始化,
    在此过程中,会创建一些需要显示的单元格,并调用每一列(列对象都是 DataControlField)的
    InitializeCell 方法。

    InitializePager 方法:
    此方法用来初始化分页导航的行,在此方法中创建了所有用来翻页的控件。

    CreateColumns 方法:
    此方法每 GridView 创建需要显示的列,也就是一组 DataControlField,此方法返回一个
    ICollection 对象(实际是一个 ArrayList 对象),此对象包含了 GridView 对象需要显示的
    所有列信息,如果需要添加附加的列,可以重写此方法,以在返回的集合中添加自己的列。

    CreateChildControls(IEnumerable, bool) 方法:
    此方法是根据数据源和相关的设置来创建需要显示的控件,主要是一个表格,此返回创建的控件数,
    如果数据源中没有数据,GridView 将根据 EmptyDataTemplate 和 EmptyDataText 两个属性来显示
    信息,如果这两个属性都没有设置,GridView 将不显示任务的内容。
    在 DataGrid 中,如果数据源没有数据,将也会显示一个表头,GridView 不显示表头了,对于有些
    用户来说,可能有点不习惯。
    如果需要在没有数据的时候也要显示表示,可以重写此方法,在此方法,通过 CreateColumns 方法
    获取到需要显示的列,在调用 CreateRow 方法创建一行,在调用 IntializeRow 方法来初始化创建
    的行,最后在把行添加到表格里,这里需要说明的一点是,如果 GridView 没有显示任何的东西,
    那么它的 Controls 里是没有一个控件的,我们需要自己创建一个 Table 对象,并添加到 Controls
    集合中。

  • 相关阅读:
    Java内存模型(JMM)
    线程安全问题的本质详解: 原子性、有序性、可见性
    Quartz实现分布式可动态配置的定时任务
    Java引用详解-StrongReference SoftReference WeakReference PhantomReference
    流行的报表生成工具-JXLS
    Java线程监控及中断
    IntelliJ IDEA 内存优化最佳实践
    Dapeng框架-开源高性能分布式微服务框架
    Scala实现Try with resources自动关闭IO
    Jvm启动,关闭及对应钩子
  • 原文地址:https://www.cnblogs.com/kuku/p/615972.html
Copyright © 2020-2023  润新知