dorado过滤栏扩展
来源:互联网 发布:网络弊大于利攻辩问题 编辑:程序博客网 时间:2024/06/07 08:20
前阵子由于业务需要,要对过滤栏进行一些操作,但是由于datatable对其封装了,所以很郁闷*****
后来问了frankzhang之后,然后自己进行了一些试验后,终于解决了对过滤栏的扩展操作
其实datatable的过滤栏也跟一个dataset绑定,为了便于描述,我们将过滤栏绑定的datase美其名曰"过滤栏dataset",datatable绑定的dataset称为"源dataset"
"过滤栏dataset"与"源dataset"在结构上是一致的.
能过如下方法可以获得"过滤栏dataset",
//通过"源dataset"中的一个唯一的字段名(区别于同一个view中的其它dataset)来得到过滤栏dataset
function getQDataset(field){
var array = listDatasets();
for(var i = 0,j = array.length;i < j;i++){
if(/^__control_/.test(array[i])){
var dataset = getDataset(array[i]);
if(dataset.getField(field)){
return dataset;
}
}
}
return null;
}
以下方法是我改写的,可以直接调用这个方法,就可以调用过滤栏上按回车的方法。
//执行过滤的方法,field是dataset中唯一所有的字段名,dataset是源dataset名,fieltNames是要过滤的字段名的集合
function doFilterBarQuery(field,dataset,fieltNames){
var params = dataset.parameters();
var conditionDataset = getQDataset(field);
if(conditionDataset){
var fieldCount = conditionDataset.getFieldCount();
for(var i = 0;i < fieldCount;i++){
var field = conditionDataset.getField(i);
var fieldName = field.getName();
var value = conditionDataset.getValue(fieldName);
//如果这个字段要求过滤,则传入一个参数,参数名与字段名相同,后台要对这些参数进行处理(进行sql条件的拼接)。
if(fieltNames.indexOf(fieldName)>=0){
params.setValue(fieldName,value);
}
}
dataset.flushData();
}
}
- dorado过滤栏扩展
- Dorado锐道dorado.widget.grid.FilterBarCellRenderer过滤栏重写
- DORADO
- php扩展trie_filter 过滤关键词
- dorado是什么?
- dorado 产品简介
- dorado简介
- dorado简介
- Dorado学习
- dorado简介
- dorado简介
- dorado线路
- Dorado IDE
- dorado 知识点
- dorado 常用
- dorado 7
- 过滤分享的Chrome扩展开发详解
- jeasyui扩展:combogrid实现本地数据过滤
- 刘宇环-美国中经合集团-发言稿
- action中获取request进行参数设置
- 风险投资新模式
- sudo命令详解使用格式和方法
- 开复的心里话
- dorado过滤栏扩展
- 李开复简历
- 去掉文本文件中含有某些字符串的行
- 阿根廷1比3憾负巴西,南非之路蒙阴影
- LCD硬件及驱动开发
- 证言与贺词
- CFile文件操作
- 性格决定命运
- javaScript数字认识