您的位置:首页 > 其它

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

2007-02-04 22:27 495 查看
[最后更新:2008.03.28]

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

[源码下载(C#)]

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

[align=center]扩展GridView控件(索引) - 增加多个常用功能 [/align]

作者: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

[源码下载]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: