本文主要是介绍Ext3 备忘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
●[b]给Ext.ux.tree.TreeGrid添加checkbox[/b]TreePanel要添加checkbox很容易,只需节点有checked属性。TreeGrid默认不支持,为此上网找资料半天才发现简单一点的方法,如下:
修改Ext.ux.tree.TreeGridNodeUI的方法renderElements,在buf数组中,在含有x-tree-node-icon的行下面添加一行:
Ext.isBoolean(a.checked) ? ('<input class="x-tree-node-cb" type="checkbox"' + (a.checked ? ' checked' : '') + '/>') : '',
还要在renderElements方法的最后添加以下几行:
if (Ext.isBoolean(a.checked)){
this.checkbox = cs[3];
this.checkbox.defaultChecked = this.checkbox.checked; //fix for ie6
this.anchor = cs[4];
this.textNode=cs[4].firstChild;
}
●[b]让带checkbox的TreeGrid具有与GridPanel一样的点击选中行为:[/b]
listener:{
click: function(n){
n.getUI().toggleCheck();
return n.getUI().isChecked();
},
checkchange: function(n, checked){
checked ? n.select() : n.unselect();
}
}
●Combox默认提交text,要提交value,需设置hiddenName属性为字段名,取消name属性。
●[b]手动创建grid的行[/b]
var Record = Ext.data.Record.create([{name:'id'},{name:'title'}]);
var r = new Record({id:1,title:'text'});
grid.store.add(r);
注意,这样创建的Record,取数据的方法为record.data,不是record.json
●[b]实现combo模糊查询[/b]
combo.on('beforequery', funciton(qe){
var cb = qe.combo;
cb.selectedIndex = -1;
if (qe.foreAll) return;
cb.store.filterBy(function(r, id){
var text = r.get(cb.displayField);
return text.indexOf(qe.query) != -1;
});
cb.onLoad();
return false;
});
●[b]实现combo自定义显示值[/b]
var store = new Ext.data.JsonStore({
url: 'xxx',
fields:['id','name','text',
{name:'[b]display[/b]', convert:function(v,r){return r.name + '(' + r.text + ')';}}]
});
combo:
{
xtype: 'combo', triggerAction:'all', store:store,valueField:'id',
[b]displayField:'display'[/b], selectOnFocus:true
}
这篇关于Ext3 备忘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!