在Ext grid中假设有一个名称为grid的对象。
(1)grid.getStore().getRange(0,store.getCount());//得到grid所有的行
(2)grid.getSelectionModel().getSelections()//得到选择所有行
(3)grid.selModel.selections.items;//得到选择所有行
(4)grid.getSelectionModel().getSelected();//得到选择行的第一行
上面是从网上搜来的.下面讲讲自己的开发经验:
1.在开发中,有时候需要在首次导入的GRID STORE的时候把首行数据显示在一个Form中,这种操作分两步执行:
首先,选择首行,其次就是把值赋过去了..在EXTJS中,它提供了一个非常有用的东东,,(最开始的时候我是手动赋值,每次都先取出然后在setvalue过去了..--菜鸟级的操作)
不说,直接上代码..注意SM中的rowselect就行了.
var userStore = new Ext.data.Store({//主体要素列选择列表
proxy:new Ext.data.HttpProxy({url:'./jsp/userManager.jsp?action=user'}),
reader:new Ext.data.JsonReader({
totalProperty:'totalProperty',
root:'root'},
[
{name:'userno',mapping:'userno'},
{name:'username',mapping:'username'},
{name:'mail',mapping:'mail'},
{name:'branch',mapping:'branch'},
{name:'state',mapping:'state'},
{name:'makedate',mapping:'makedate'}
]
)
});
userStore.load();
var cm = new Ext.grid.ColumnModel([
{header: "用户编码", width: 120, sortable: true,dataIndex: 'userno'},
{header: "用户名", width: 120, sortable: true, dataIndex: 'username'}
]);
var grid = new Ext.grid.GridPanel({
//renderTo:'grid',
//id:'user-form',
columnWidth: 0.25,
title:'用户信息',
store:userStore,
cm:cm,
height: 450,
width:245,
stripeRows: true,
sm: new Ext.grid.RowSelectionModel({
singleSelect: true,
listeners: {
rowselect: function(sm, row, rec) {
Ext.getCmp("user-form").getForm().loadRecord(rec);//注意这个东东,很有用的直接赋值语句,,,注意在FORM中的name一定在和GRID中SOTRE的索引列名相同..
}
}
}),
deferowrender:false,
listeners:{
render: function(g) {
g.getSelectionModel().selectRow(0); //定义在首次导入的时候记录第一次...
},
delay: 3,//延迟..保证数据在导入之后再执行..不然会找不到数据的哦~~~
'rowclick':function (grid, rowIndex, columnIndex, e)
{
var record = grid.getStore().getAt(rowIndex); //Get the Record
userno = record.get('userno');
inUserSetStore.proxy = new Ext.data.HttpProxy({url:'./jsp/userManager.jsp?action=inuserset&userno='+userno+'&projectno='+projectno});
inUserSetStore.load();
outUserSetStore.proxy = new Ext.data.HttpProxy({url:'./jsp/userManager.jsp?action=outuserset&userno='+userno+'&projectno='+projectno});
outUserSetStore.load();
}
}
});
//个人属性
var userForm = new Ext.FormPanel({
id:'user-form',
//renderTo:'fm',
labelWidth: 75, // label settings here cascade unless overridden
frame:true,
title: '个人属性',
layout:"column",
bodyStyle : 'padding:3px;',
items:[{
columnWidth:.45,
layout:"form",
items:[{
xtype:'textfield',
fieldLabel:'用户编码',
name:'userno',
id:'userno'
},{
fieldLabel:'部门',
xtype:'combo',
store: branchCombo,
valueField :'itemcode',
displayField: 'itemname',
mode: 'remote',
forceSelection: true,
disabledkeyfilter:false,
emptyText:'请选择',
editable: false,
triggerAction: 'all',
id:'branch'
},{
xtype:'textfield',
fieldLabel:'入机时间',
name:'makedate',
disabled:true,
id:'makedate'
},{
xtype:'textfield',
fieldLabel:'邮箱' ,
name:'mail',
id:'mail'
}]
}, {
columnWidth:.45,
layout:'form',
baseCls:'x-plain',
items:[{
xtype:'textfield',
fieldLabel:'用户姓名' ,
name:'username',
id:'username'
},{
xtype : 'combo',
fieldLabel : '状态',
name : 'state',
store:stateCombo,
displayField : 'itemname',
valueField : 'itemcode',
mode : 'remote',
forceSelection: true,
disabledkeyfilter:false,
emptyText:'请选择',
editable: false,
triggerAction: 'all',
allowBlank: false
},{
xtype:'textfield',
fieldLabel:'操作者',
name:'operator',
disabled:true,
id:'operator'
}]
}],
buttons: [{
text: '新建用户',
id:'adduser',
handler:function(e){
//赋值给个人属性模块
userno = Ext.getDom('userno').value;
branch = Ext.getDom('branch').value;
mail = Ext.getDom('mail').value;
state = Ext.getDom('state').value;
username = Ext.getDom('username').value;
Ext.Ajax.request({
url : 'jsp/userManager.jsp',
params : {
action : 'add',
userno : userno,
branch : branch,
mail : mail,
state : state,
operator:app.uno,
username : username
},
method : 'post',
success : function(response, option) {
var obj = Ext.util.JSON.decode(response.responseText);// 返回的信息
userStore.reload();
Ext.MessageBox.alert("操作信息", obj.flag);
},
failue : function() {
Ext.Msg.alert("操作信息", "请检查网络环境");
}
});
}
},{
text: '更新用户',
id:'updateuser',
handler:function(){
//赋值给个人属性模块
branch = Ext.getDom('branch').value;
mail = Ext.getDom('mail').value;
state = Ext.getDom('state').value;
username = Ext.getDom('username').value;
Ext.Ajax.request({
url : './jsp/userManager.jsp',
params : {
action : 'update',
userno : userno,//不能修改,
branch : branch,
mail : mail,
state : state,
operator:app.uno,
username : username
},
method : 'post',
success : function(response, option) {
var obj = Ext.util.JSON.decode(response.responseText);// 返回的信息
userStore.reload();
Ext.MessageBox.alert("操作信息", obj.flag);
},
failue : function() {
Ext.Msg.alert("操作信息", "请检查网络环境");
}
});
}
},{
text: '删除用户',
id:'deluser',
handler:function(){
//赋值给个人属性模块
userno = Ext.getDom('userno').value;
branch = Ext.getDom('branch').value;
mail = Ext.getDom('mail').value;
state = Ext.getDom('state').value;
username = Ext.getDom('username').value;
Ext.Ajax.request({
url : './jsp/userManager.jsp',
params : {
action : 'del',
userno : userno,
branch : branch,
mail : mail,
state : state,
operator:app.uno,
username : username
},
method : 'post',
success : function(response, option) {
var obj = Ext.util.JSON.decode(response.responseText);// 返回的信息
userStore.reload();
Ext.MessageBox.alert("操作信息", obj.flag);
},
failue : function() {
Ext.Msg.alert("操作信息", "请检查网络环境");
}
});
}
}]
});
上面的功能实现在首次导入GRID的时候,把第一行相应的数据显示在 个人属性的FORM中,同时在FORM中也实现了增加,修改及删除的操作功能...
分享到:
相关推荐
找了半天,结果在extjs的老家找到一个前辈写的代码,可以在grid上面加上合计, <br>但是却只能合计grid里面的数据,但是我们平常一般是只显示20行或者30行,这样的合计就没有什么意义,我们的合计数据是单独从...
支持Ext3 Ext4导出excel,客户端导出表格,支持各种主流浏览器。
Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分,回帖加1分,欢迎下载,童叟无欺。Ext grid中渲染进度条,超帅 源码-----下载不扣分...
Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文Ext.3.0.中文
EXT中根据返回的grid中的状态列的内容来改变这一行显示的背景颜色
EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档EXT.JS_文档...
http: www extgrid com extgrid 是一款jquery上的gird插件 界面风格采用了类似easyui extjs 界面风格样式 可通过...extgrid具有列大小 位置改变 排序 分组 分页 工具栏 扩展行 rowNumber 多选列 编辑列 行列 [更多]
var vExportContent = grid.getExcelXml(); if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) { var fd=Ext.get('frmDummy'); if (!fd) { fd=Ext.DomHelper.append(Ext.getBody...
Ext.grid.ColumnModel显示不正常
包含3个工具:make_ext4fs、simg2img、kusering.sh。 1. 解压system.img为system.img.ext4。命令:simg2img system.img system.img.ext4 2. 创建system.img.ext4挂载目录tmp; 命令:mkdir tmp; 3. 挂载system....
10.3.3 为行添加附加信息:ext.grid.featrue.rowbody / 538 10.3.4 数据汇总功能:ext.grid.featrue.abstractsummary与ext.grid.featrue. summary / 539 10.3.5 分组功能:ext.grid.featrue.grouping / 543 ...
Grid实现中文排序的功能,重写Ext.data.Store的applySort函数
EXT dojochina Ext类静态方法.rar EXT dojochina Ext类静态方法.rar
NULL 博文链接:https://atian25.iteye.com/blog/1019910
从spket IDE 官网下载。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.*版本。spket自动提示ExtJs4,需要ext4.2.1.jsp2文件。
主要介绍了Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法,本文中的事件指collapsebody和expandbody事件,需要的朋友可以参考下
Ext grid panel 滚动条位置不变,适用于实时数据的刷新
2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button 4、Ext.ux.toggleslide.ToggleSlide 5、Ext.ux.container.ButtonSegment 6、Ext.ux.grid.plugin.RowEditing 7、Ext.ux.grid.plugin.DragSelector 8、Ext....
Ext.grid.GridPanel属性祥解, 表格部门的详解,通俗易懂,适合初学人员,以及想对GridPanel有个精析认识的Web开发人员
ext grid 根据条件指定行颜色,比如总分大于90分行显示为红色