Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 730|回复: 0

[默认分类] 扩展GridView控件(索引) - 增加多个常用功能

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-13 15:43:37 | 显示全部楼层 |阅读模式
    [最后更新:2008.03.28]

    GridView既强大又好用。为了让它更强大、更好用,我们来写一个继承自GridView的控件。


    [源码下载(C#)]


    [源码下载(VB)] 感谢
    旌浪提供VB版本
    相关文章地址







    扩展GridView控件(索引) - 增加多个常用功能




    作者:
    webabcd







    /*
    正式版的实现 开始
    */


    文章索引


    扩展GridView控件(0) - 基本架构、增加事件和要点汇总


    扩展GridView控件(1) - 鼠标经过行时改变行的样式


    扩展GridView控件(2) - 复合排序和排序状态提示


    扩展GridView控件(3) - 根据按钮的CommandName设置其客户端属性


    扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)


    扩展GridView控件(5) - 固定指定行、指定列


    扩展GridView控件(6) - 响应行的单击事件和双击事件


    扩展GridView控件(7) - 行的指定复选框选中时改变行的样式


    扩展GridView控件(8) - 导出数据源的数据为Excel、Word或Text


    扩展GridView控件(9) - 给数据行增加右键菜单


    扩展GridView控件(10) - 自定义分页样式


    扩展GridView控件(11) - 合并指定列的相邻且内容相同的单元格

    注:除了“固定指定行、指定列”仅支持IE外,其它均同时支持IE和FF





    控件截图








    控件使用

    1、鼠标经过行的时候改变该行的样式,鼠标离开行的时候恢复该行的样式

    使用方法(设置属性):  

    MouseOverCssClass - 鼠标经过行时行的 CSS 类名



    2、对多个字段进行复合排序;升序、降序的排序状态提示

    使用方法(设置SmartSorting复合属性):

    AllowSortTip - 是否启用排序提示

    AllowMultiSorting - 是否启用复合排序

    SortAscImageUrl - 升序提示图片的URL(不设置则使用默认图片)

    SortDescImageUrl - 降序提示图片的URL(不设置则使用默认图片)

    SortAscText - 升序提示文本

    SortDescText - 降序提示文本



    3、根据按钮的CommandName设置其客户端属性

    使用方法(设置ClientButtons集合属性):

    BoundCommandName - 需要绑定的CommandName

    AttributeKey - 属性的名称

    AttributeValue - 属性的值(两个占位符:{0} - CommandArgument;{1} - Text)

    Position - 属性的值的位置



    4、联动复选框(复选框的全选和取消全选)。选中指定的父复选框,则设置指定的所有子复选框为选中状态;取消选中指定的父复选框,则设置指定的所有子复选框为取消选中状态

    使用方法(设置CascadeCheckboxes集合属性):

    ParentCheckboxID - 模板列中 父复选框ID

    ChildCheckboxID - 模板列中 子复选框ID

    YYControls.Helper.SmartGridView中的静态方法

    List

      GetCheckedDataKey(GridView gv, int columnIndex)

    List

       GetCheckedDataKey(GridView gv, string checkboxId)
      

      
    5、固定指定行、指定列,根据RowType固定行,根据RowState固定行
      
    使用方法(设置FixRowColumn复合属性):
      
    FixRowType - 需要固定的行的RowType(用逗号“,”分隔)
      
    FixRowState - 需要固定的行的RowState(用逗号“,”分隔)
      
    FixRows - 需要固定的行的索引(用逗号“,”分隔)
      
    FixColumns - 需要固定的列的索引(用逗号“,”分隔)
      
    TableWidth - 表格的宽度
      
    TableHeight - 表格的高度
      

      
    6、响应行的单击事件和双击事件,并在服务端处理
      
    使用方法(设置属性):
      
    BoundRowClickCommandName - 行的单击事件需要绑定的CommandName
      
    BoundRowDoubleClickCommandName - 行的双击事件需要绑定的CommandName
      

      
    7、行的指定复选框选中的时候改变该行的样式,行的指定复选框取消选中的时候恢复该行的样式
      
    使用方法(设置CheckedRowCssClass复合属性):
      
    CheckBoxID - 模板列中 数据行的复选框ID
      
    CssClass - 选中的行的 CSS 类名
      

      
    8、导出数据源的数据为Excel、Word或Text(应保证数据源的类型为DataTable或DataSet)
      
    使用方法:
      
    为SmartGridView添加的方法
      
    Export(string fileName)
      
    Export(string fileName, ExportFormat exportFormat)
      
    Export(string fileName, ExportFormat exportFormat, Encoding encoding)
      
    Export(string fileName, int[] columnIndexList, ExportFormat exportFormat, Encoding encoding)
      
    Export(string fileName, int[] columnIndexList, string[] headers, ExportFormat exportFormat, Encoding encoding)
      

      Export(string fileName, string[] columnNameList, ExportFormat exportFormat, Encoding encoding)
    Export(string fileName, string[] columnNameList, string[] headers, ExportFormat exportFormat, Encoding encoding)
      

      
    9、给数据行增加右键菜单,响应服务端事件或超级链接
      
    使用方法(设置ContextMenus集合属性):
      
    Text - 菜单的文本内容
      
    BoundCommandName - 需要绑定的CommandName
      
    NavigateUrl - 链接的URL
      
    Target - 链接的目标窗口或框架
      
    SmartGridView的属性ContextMenuCssClass - 右键菜单的级联样式表 CSS 类名(右键菜单的结构div ul li a)
      

      
    10、自定义分页样式。显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮
      
    使用方法(设置CustomPagerSettings复合属性):
      
    PagingMode - 自定义分页的显示模式
      
    TextFormat - 自定义分页的文本显示样式(四个占位符:{0}-每页显示记录数;{1}-总记录数;{2}-当前页数;{3}-总页数)
      

      
    11、合并指定列的相邻且内容相同的单元格
      
    使用方法(设置属性):
      
    MergeCells -  需要合并单元格的列的索引(用逗号“,”分隔)
      

      




    /*
    正式版的实现 结束
    */






    /*
    测试版的实现 开始
    */


    控件开发


    扩展GridView控件(一)——鼠标经过行时改变行的样式




    扩展GridView控件(二)——给字段标题加上排序状态




    扩展GridView控件(三)——单击命令按钮弹出确认框




    扩展GridView控件(四)——每行复选框的全选与取消全选




    扩展GridView控件(五)——固定表头、指定行或指定列




    扩展GridView控件(六)——数据行响应鼠标的单击和双击事件




    扩展GridView控件(七)——改变通过复选框选中的行的样式




    扩展GridView控件(八)——导出为Excel




    扩展GridView控件(九)——给数据行增加右键菜单




    扩展GridView控件(十)——扩展分页功能





    控件截图








    控件使用

    1、鼠标经过行时改变行的样式

    CssClaSSMouseOver - 鼠标经过行时行的样式的CSS类名



    2、给字段标题加上排序状态

    设置其SortTip下的4个属性即可

    SortAscImage - 升序提示图片

    SortAscText - 升序提示文本

    SortDescImage - 降序提示图片

    SortDescText - 降序提示文本



    3、单击命令按钮弹出确认框

    设置其ConfirmButtons属性

    CommandName - 命令按钮的CommandName属性

    ConfirmMessage - 弹出的确认框所显示的文字



    4、每行复选框的全选与取消全选

    在模板列的头模板处添加一个复选框,在模板列的项模板处添加一个复选框,然后设置控件的CheckboxAlls属性

    CheckboxAllID - 模板列全选复选框ID

    CheckboxItemID - 模板列项复选框ID



    5、固定表头、指定行或指定列

    设置其FixRowCol下的6个属性

    IsFixHeader - 固定表头否?

    IsFixPager - 固定分页行否?

    FixRowIndices - 需要固定的行的索引(用逗号“,”分隔)

    FixColumnIndices - 需要固定的列的索引(用逗号“,”分隔)

    TableWidth - 表格的宽度

    TableHeight - 表格的高度

    EnableScrollState - 是否保持滚动条的状态



    6、数据行响应鼠标的单击和双击事件

    RowClickButtonID - 行单击事件所对应的按钮的ID

    RowDoubleClickButtonID - 行双击事件所对应的按钮的ID



    7、改变通过CheckBox选中的行的样式

    CheckBoxID - 模板列的项复选框的ID

    CssClassRowSelected - 选中行的样式的CSS类名



    8、导出为Excel

    在GridView内加一个按钮

    CommandName属性设置为“ExportToExcel”

    CommandArgument属性的值用“;”做分隔符分为两部分,左边的部分为导出Excel的文件名称,右边的部分为需要隐藏的列的索引(列索引用“,”分开)



    9、给数据行增加右键菜单

    ItemType - 右键菜单的项的类别(Link,Command,Custom,Separator)

    Icon - 文字左边的图标的链接

    Text - 菜单的文字

    CommandButtonId - 所调用的命令按钮的ID

    NavigateUrl - 链接的url

    Target - 链接的target(Blank,Self,Top)

    Key - 自定义属性key

    Value - 自定义属性value



    10、扩展分页功能

    设置PagingStyle属性为Default

    设置GridView的原有属性PageButtonCount,FirstPageText,PreviousPageText,NextPageText,LastPageText,FirstPageImageUrl,PreviousPageImageUrl,NextPageImageUrl,LastPageImageUrl





    /*
    测试版的实现 结束
    */




    OK


    [源码下载]

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-3-29 19:36 , Processed in 0.362047 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表