Flex自定义在DataGrid中搜索内容
2010-08-16 10:37
344 查看
在表格(DataGrid)中搜索 2009-09-08 20:15
虽然从数据库中查询的数据返回到前台时一般做了分页,如果表格的列较多时,要看数据也不太容易,只能凭肉眼来找了。我们可以自己去遍历表格来找到自 己想要的数据,找到后再将找到的行设置为当前选中的状态。如果表格行数较多时,假设找到了需要的数据,并将找到的行设置为选中行,但是由于表格不会自动滚 动到找到的那一行,所以有时你还以为没找到呢,不过好在列表类都提供了ScrollToIndex方法,这样就好办了。
对于查找方法,虽然DataGrid也提供了一个方法findString(...),但是这个方法只能精确查找表格中某个单元格的数据,所以想要模糊查找的话还不太方便,所以干脆自己遍历数据查一遍得了,还可以支持模糊查询,下面是示例代码:
//假设s是要查找的字符串,grid是DataGrid组件
var idx:int = -1;
for each(var item:Object in grid.dataProvider){
idx++;
for each(var col:DataGridColumn in grid.columns){
if(col.dataField !=null && String(item[col.dataField]).indexOf(s)!=-1){
grid.selectedItem = item;
grid.scrollToIndex(idx);//将当前行滚动到可视范围内
return;
}
}
}
条件col.dataField !=null是防止表格中有的列没有设置dataField属性,例如对于以CheckBox显示的列你可能没设置dataField属性
条件String(item[col.dataField]).indexOf(s)!=-1检查当前行、列中是否包含字符串s
找到就把表格的选中行设置为找到的那条,并滚动到可视范围内(如果这条数据不在可见范围之内)
上面的代码是找到第一个符合条件的就退出来了,进一步的功能是搜索多条符合条件的数据,并以列表的方式列出来,然后你单击再去定位到指定的行,类似UltraEdit的搜索功能了。
虽然从数据库中查询的数据返回到前台时一般做了分页,如果表格的列较多时,要看数据也不太容易,只能凭肉眼来找了。我们可以自己去遍历表格来找到自 己想要的数据,找到后再将找到的行设置为当前选中的状态。如果表格行数较多时,假设找到了需要的数据,并将找到的行设置为选中行,但是由于表格不会自动滚 动到找到的那一行,所以有时你还以为没找到呢,不过好在列表类都提供了ScrollToIndex方法,这样就好办了。
对于查找方法,虽然DataGrid也提供了一个方法findString(...),但是这个方法只能精确查找表格中某个单元格的数据,所以想要模糊查找的话还不太方便,所以干脆自己遍历数据查一遍得了,还可以支持模糊查询,下面是示例代码:
//假设s是要查找的字符串,grid是DataGrid组件
var idx:int = -1;
for each(var item:Object in grid.dataProvider){
idx++;
for each(var col:DataGridColumn in grid.columns){
if(col.dataField !=null && String(item[col.dataField]).indexOf(s)!=-1){
grid.selectedItem = item;
grid.scrollToIndex(idx);//将当前行滚动到可视范围内
return;
}
}
}
条件col.dataField !=null是防止表格中有的列没有设置dataField属性,例如对于以CheckBox显示的列你可能没设置dataField属性
条件String(item[col.dataField]).indexOf(s)!=-1检查当前行、列中是否包含字符串s
找到就把表格的选中行设置为找到的那条,并滚动到可视范围内(如果这条数据不在可见范围之内)
上面的代码是找到第一个符合条件的就退出来了,进一步的功能是搜索多条符合条件的数据,并以列表的方式列出来,然后你单击再去定位到指定的行,类似UltraEdit的搜索功能了。
相关文章推荐
- Flex学习笔记:DataGrid内容修改监听器——itemEditEnd
- 让DEDE内容模型自定义字段在搜索结果中显示的办法
- Flex使用Blazeds与Java交互及自定义对象转换详解-DATAGRID读取ORACLE数据
- FLEX 自定义格式化DataGrid的列值 labelFunction
- 如何实现自定义及自动逐页打印DataGrid显示的内容
- Flex 学习笔记 Datagrid中创建自定义ComboBox控件及数字校验
- flex 把datagrid的内容导出到Excel
- Flex DataGrid内容自动换行相关
- Flex 打印DataGrid内容 2.0
- flex datagrid 列内容换行
- dedecms搜索页面列表无法调用自定义内容模式字段的解决方法
- Flex 打印DataGrid内容
- Flex 自定义Tooltip 显示<s:datagrid>只显示行长标题的Tooltip
- flex设置DataGrid文本按内容自动换行
- FLEX实践:动态显示DataGrid的列和内容
- 在DataGrid中为Footer添加自定义内容
- 正则搜索内容并自定义替换
- Flex 3.0 DataGrid组件列内容换行
- DataGrid 自定义字段内容
- [Flex] PopUpButton系列 —— 将DataGrid作为弹出内容