EXT各个控件属性6.docx
《EXT各个控件属性6.docx》由会员分享,可在线阅读,更多相关《EXT各个控件属性6.docx(29页珍藏版)》请在冰豆网上搜索。
EXT各个控件属性6
ext3.1全选/反选/取消/临时数据集
1.定义数据集
/*默认源字符串*/
varRegular_Data={
totalProperty:
2,
root:
[]
}
/*临时数据源*/
varRegular_store=newExt.data.Store({
proxy:
newExt.data.MemoryProxy(),
reader:
newExt.data.JsonReader({
root:
'root',
totalProperty:
'totalProperty',
fields:
[
{name:
'Regular_name', type:
'string'}
]
})
});
Regular_store.loadData(Regular_Data);
2.临时数据集添加数据
varData_1001=Ext.data.Record.create([
{name:
'Regular_name'}
]);
vara=SmRegulartree.getSelections();
Ext.each(a,function(item,index,allItems){
varfoundItem=Regular_store.find('Regular_name',item.data.name);
if(foundItem ==-1){
Regular_store.add(newData_1001({Regular_name:
item.data['name']}));
}
});
3.全选反选取消
bbar:
[{
text:
'全选',
handler:
function(){
varcount=Regular_store.getCount();
if(count>0){
vara=newArray();
for(vari=0;i a[i]=i;
}
}
regularg1.getSelectionModel().selectRows(a);
}
},'-',{
text:
'反选',
handler:
function(){
vartrims="";
varstr="";
varid="";
varcount=Regular_store.getCount();
if(count>0){
vara=newArray();
for(vari=0;i a[i]=Regular_store.data.items[i].id+"-"+i;
}
}
varlist2=regularg1.selModel.getSelections();
for(vark=0;k str=a[k].split("-");
for(varj=0;j id=list2[j].id.split("-");
if(str[2]==id[2]){
break;
}
}
if(j continue;
}
if(trims!
=''){
trims+=',';
}
trims+=k.toString();
}
regularg1.getSelectionModel().selectRows(trims);//Ext.MessageBox.alert('提示',result);
}
},'-',{
text:
'取消',
handler:
function(){
regularg1.getSelectionModel().clearSelections();
}
}]
grid表格的操作
行选择模式:
Js代码
varrowcount=grid.getSelectionNode().getSelections();
varrowcount=grid.getSelectionNode().getSelections();
可以获取全部选中的记录,得到的rowcount将是一个Array,比如想获取sex列的数据,语句如下
Js代码
varstrsex=rowcount[i].get(‘sex’);
varstrsex=rowcount[i].get(‘sex’);
单元格选择模式
如果在GridPanel的配置属性增加sm属性如下
Js代码
sm:
newExt.grid.CellSelectionModel();
sm:
newExt.grid.CellSelectionModel();
则表格的选择模式为单元格选择模式。
当单击时将选中对应的某一个单元格,而不是默认的选择某一行。
选择方式如下
Js代码
varcell=grid.getSelectionNode().getSelectedCell();
varcell=grid.getSelectionNode().getSelectedCell();
得到的cell记录了当前选择的行(cell[0])以及列(cell[1]).可以通过一下语句得到该单元格数据
Js代码
varcolname=grid.getColumnModel().getDataIndex(cell[1]); //获取列名
varcelldata=grid.getStore().getAt(cell[0]).get(colname);//获取数据
varcolname=grid.getColumnModel().getDataIndex(cell[1]); //获取列名
varcelldata=grid.getStore().getAt(cell[0]).get(colname);//获取数据
getStore():
获取表格的数据集
getAt():
获取该数据集cell[0]行
get():
获取该行colname的数据
2)为表格增加链接
有时我们需要为表格中的某一列添加一个链接。
可以利用renderer配置属性为该列添加html
如下:
{id:
'3',header:
'名称',dataIndex:
'name',renderer:
DomUrl},
定义DomUrl方法
Js代码
functionDomUrl(value){
return""+value+"";
}
functionDomUrl(value){
return""+value+"";
}
如果表格内的数据是一个链接如:
这样写法自然没有问题,但是大多数时候我们在表格中不会直接写一个链接,如果又需要根据单元格内容动态为链接添加几个参数。
那这种写法就几乎没有什么用了。
因为这个属性是在表格初始化的时候定义好的,而且表格初始化之后这个属性无法改变,也就是只读属性。
处理方法如下:
定义一个全局变量,初始值为0;DomUrl函数如下
Js代码
functionDomUrl(value){
varrow=grid.getSelectionModel().selectRow(startrow);//选中当前行
varrownum=grid.getSelectionModel().getSelected()