ASP.NET 客户端单项/多项选择DataGrid组件
Bluedoctor.WebDataGrid.dll Ver 1.0.2276 正式发布
1。功能介绍
Bluedoctor.WebDataGrid 可以实现DataGrid客户端单项/多项选择功能,它完全继承了微软ASP.NET 中的DataGrid组件,独特的实现了客户端选择功能。我们知道,DataGrid提供了服务器端选择功能,但是每次选择都要回传服务器进行处理,如果仅仅是选择一条记录然后进行编辑,删除等操作不免有点浪费我们宝贵的带宽和时间,而且,每次选择后的窗体刷新操作也给人一种不爽的感觉。对于多选功能,MS根本就没有在DataGrid中实现,我们不得不在中间加一个模板列,放一个复选框控件来实现,还得在服务器端进行大量的编程。现在Bluedoctor.WebDataGrid的出现使得这些问题不再是问题。对DataGrid中的记录的选择全部都在客户端进行,节约带宽,节省服务器资源,同时给客户更好的Web体验。
在我的方案中,对于多选/单全都实现了DataGrid鼠标跟随功能,即鼠标在任意一行移动,行都可以变换颜色,在任意位置单击鼠标即可进行选择,选择的行用另外的颜色标记,在多选状态,鼠标单击多行即可选择多行,在选中的行再次单击鼠标,即可取消该行的选择。
2。属性说明:
public string ClientSelectedvalue {get;set}// Defaultvalue(false) //客户端选择的值
public bool MorePageSeleced {get;set} //Defaultvalue(false) //客户端多选的时候,是否记录上次选择的值,通常用于多页选择。
public bool ClientSelectMode {get;set} //Defaultvalue(false) //客户端选择的方式,False=单选,True=多选
public string ScriptPath {get;set} //客户端选择的脚本文件地址
public string CssClassRowSelected {get;set} //用于选择一行时的用户CSS类名
public string CssClassRowMouseMove {get;set} //用于鼠标悬浮在一行时的用户CSS类名
public string SelectedFieldvalue {get;set} //每一行选择的值,对应于某一个列
public string CheckAllText {get;set} //该属性用于表示全选复选框控件显示的文字内容
public bool DefaultSet {get;set} //Defaultvalue(true),//是否应用默认的样式和脚本设置
3。脚本文件说明
singleTableRow.js 客户端单选脚本
multipleTableRow.js 客户端多选脚本
在DataGrid的属性ScriptPath中指明这两个脚本文件的地址就是了,注意属性ClientSelectMode当前的设置。
脚本文件的说明摘要(详细请看各脚本文件说明):
//功能:在表格的任意一行单击鼠标选择一行,可以选择多行。// 要求在某一列中有复选框控件 ,// 名字必须为 'CID' ,每一个复选框控件的值都必须不同,建议将数据库表的主键值绑定到它上面。//版本记录://Ver 1.2 该版本可以记录上
次选择的项
//Ver 1.2.1 在控件不刷新的时候保存状态//Ver 1.2.2 记录最后选中的值及当前页选中的总记录数
//Ver 1.2.3 修正全选后选择数量统计的问题//注意脚本文件需要保存为系统定义的编码,比如此处使用
配置文件的utf-8,否则可能有错
//如果在回退操作的时候不希望保留上一次的选择(其实该选择已经无效,但是复选框确实选中的),请
使用
4。使用方法:
a,在工具箱-常规-添加选项,如图dg4
此主题相关图片如下:

b,建立一个Web窗体,引用自定义的样式文件StyleDG1.css
c,从刚才的工具箱中拖一个WebDataGrid,如图dg2
此主题相关图片如下:

d,在属性窗口,将ClientSelectMode设置为true,DataGrid立刻变成具有多选功能的样式,如图dg1
此主题相关图片如下:

e,采用默认的样式设置,如图dg0
此主题相关图片如下:

f,在单选时的运行效果,如图dg5
此主题相关图片如下:
5。使用案例
请下载示例文件包,下载地址:
多功能客户端表格选择示例[原创]
来源:
作者: