前阵子由于业务需要,要对过滤栏进行一些操作,但是由于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();
}
}
分享到:
相关推荐
4. **查询**:在查询章节,作者介绍了如何使用Dorado的QueryCommand查询命令控件来实现数据的过滤和查询功能。Dorado的强大之处在于其内置的查询机制,开发者可以通过简单的配置实现复杂的查询逻辑,提升用户体验。 ...
- **扩展Dorado5原有Control**:继承现有Control类,实现定制功能。 - **新建Control类型**:完全自定义一个新的Control类。 - **新建页面动态Control**:根据运行时的数据动态创建Control。 **Control类型使用示例...
dorado 是一个高度可扩展的前端开发框架,专为构建企业级Web应用而设计。它提供了一系列强大的组件、API和工具,旨在简化开发流程,提高开发效率,同时确保应用具有良好的用户体验。本快速入门将带你走进 dorado 的...
- **应用场景**: 在大量数据中提供灵活的过滤和排序功能。 ##### 3.2. **数据导航条显示增加,删除,取消按钮** - **定义**: 在数据导航条上添加操作按钮,允许用户对数据筛选条件进行修改。 - **应用场景**: 用户...
6. **强大的数据处理**:Dorado7的Grid组件可以处理大量数据,提供分页、排序、过滤等功能,同时支持服务器端和客户端的数据处理策略。 7. **Ajax支持**:通过Ajax技术,Dorado7能够实现页面的部分刷新,提高用户...
导航树主要用于网站或应用程序的导航栏,帮助用户快速找到所需的信息。 **6.4 可编辑的树** 可编辑的树允许用户直接在界面上编辑树节点的内容或结构,提高了用户的交互体验。 **6.5 数据分批下载的树** 对于大型...
过滤方法:*审查员方法*删除方法*替代方法匹配方法*整个单词*每个单词*添加自定义单词和短语*多个含义单词*一天中通常被过滤的单词排名*具有大部分单词已过滤*文本日志中包含最近已过滤的单词CAPSTONE项目:Dorado,...
然而,`DropDownCheckList`通过扩展`dropDownList`的功能,使得用户可以在一个下拉菜单中选择多个选项,类似于多选框的特性。这种控件在数据筛选、设置偏好或者选择多项服务时非常实用。 在实现`DropDownCheckList`...
- **详细说明**: `rpm -qa` 命令用于列出系统中所有已安装的RPM包,加上 `grep open-iscsi` 后,可以过滤出与open-iscsi相关的RPM包。这意味着如果系统中有安装ISCSI相关软件,该命令将会显示这些包的信息,否则不会...