我想在grid的bar上做个查询项,点击后把查询的结果 挪到grid的前面
请问有谁做过这样的东西的
没有做过的 提个思路 谢了
[b]问题补充:[/b]
我不想重新加载,就在已经加载的store上做处理,
就像点表头重新排序一样
[b]问题补充:[/b]
已经自己解决了 和下面两位提的方法差不多 不过还是谢谢两位
保证了 排序后 原来的 选择 有效
var keyword = this.keyword.getValue();
var ds = this.getStore();
for(var i=0;i<ds.getCount();i++){
if(ds.getAt(i).data.name.indexOf(keyword)>-1){
var isIdSelected = this.getSelectionModel().isIdSelected(ds.getAt(i).id);
var rowData = ds.getAt(i);
ds.remove(ds.getAt(i));
ds.insert(0, rowData);
if(isIdSelected){
this.getSelectionModel().selectRow(0,true);
}
this.getView().scrollToRow(0);
}
}
1.通过store.getCount()取出总条数;
2.循环把store中的数据读取出来(store.data.items[i]),放在一个数组中;
3.对数组进行排序,然后把排序后的结果放到store里。
在bar上添加控件,然后点击查询的时候再重新加载条件过滤后的结果。
用数据交换的方式移动,例如store 为 ds ,让fromIndex行和toIndex 交换,record 有一个字段“a”
var torecord=ds.getAt(toIndex);
var fromrecord=ds.getAt(fromIndex);
var temp_a=fromrecord.get("a");
fromrecord.set("a",torecord.get("a"));
torecord.set("a",temp_a);
fromIndex行和toIndex 就交换了