A. 请问extjs 6 grid怎么实现合计,合计行要固定在表格下面,不随纵向滚动条滚,但要随横向滚动
简单给个代码说明一下:
var grid = new Ext.grid.GridPanel({
......(其他属性配置略)
columns: [
{header: '第一列', dataIndex: 'column1'},
{header: '第二列', dataIndex: 'column2'},
{header: '总计', dataIndex: 'column1',renderer : function(value,metadata,reocrd){
//这里面做总计计算
var sum = record.data.column1+reocrd.data.column2;
//或者 var sum = value+reocrd.data.column2;
return sum;
}
},
],
......(其他属性配置略)
});
B. extjs gridpanel 如何合并单元格
columns:[{
text:'本系统',
defaults:{
style:"text-align:center"
},
menuDisabled:true,
sortable:false,
columns:[{
xtype:'rownumberer',
width:40
},{
text:'借方余额(元)',
dataIndex:''
},{
text:'贷方余额(元)',
dataIndex:'proctCode'
}
]
},{
text:'本系统',
defaults:{
style:"text-align:center"
},
menuDisabled:true,
sortable:false,
columns:[{
xtype:'rownumberer',
width:40
},{
text:'借方余额(元)',
dataIndex:''
},{
text:'贷方余额(元)',
dataIndex:'proctCode'
}
]
},{
text:'本系统',
defaults:{
style:"text-align:center"
},
menuDisabled:true,
sortable:false,
columns:[{
xtype:'rownumberer',
width:40
},{
text:'借方余额(元)',
dataIndex:''
},{
text:'贷方余额(元)',
dataIndex:'proctCode'
}
]
},{
text:'本系统',
defaults:{
style:"text-align:center"
},
menuDisabled:true,
sortable:false,
columns:[{
xtype:'rownumberer',
width:40
},{
text:'借方余额(元)',
dataIndex:''
},{
text:'贷方余额(元)',
dataIndex:'proctCode'
}
]
}]
C. extjs2.0关于合计栏的问题。
如果不想用客户端js计算,那就只有服务器端计算了再返回了..
就是在你返回的json(或其他)数据里,后面再加一个summary不就行了?
相应的store, reader, gridPanel多加一列,和其他列一样的.
D. extjs grid 怎样合并单元格
具体步骤如下:
/*
这个方法四个参数分别是
row:合并起始行
col:合并起始列.这两个参数是为了定位,要从哪个单元格开始合并.
type:是要合并行或者列.
num:是要合并的数量
//==>监听load , 执行合并单元格
grid.getStore().on('load', function () {
span(grid, 0, 0, 'row', 5);
});
*/
var span = function (grid, row, col, type, num) {
switch (type) {
case 'row':
tds = Ext.get(grid.view.getNode(row)).query('td');
Ext.get(tds[col]).set({ rowspan: num });
Ext.get(Ext.get(tds[col])).setStyle({ 'vertical-align': 'middle' });
for (i = row + 1; i < row + num; i++) {
Ext.get(Ext.get(grid.view.getNode(i)).query('td')[col]).destroy();
}
break;
case 'col':
tds = Ext.get(grid.view.lockedView.getNode(row)).query('td');
Ext.get(tds[col]).set({ colspan: num });
break;
}
};
E. extjs grid 里面,每行都有合计,怎么做 明白问题没
简单给个代码说明一下:
var grid = new Ext.grid.GridPanel({
......(其他属性配置略)
columns: [
{header: '第一列', dataIndex: 'column1'},
{header: '第二列', dataIndex: 'column2'},
{header: '总计', dataIndex: 'column1',renderer : function(value,metadata,reocrd){
//这里面做总计计算
var sum = record.data.column1+reocrd.data.column2;
//或者 var sum = value+reocrd.data.column2;
return sum;
}
},
],
......(其他属性配置略)
});
F. extjs得到grid所有的行的第一列
选中状态
var storeData = Ext.getCmp('GridPanel').getSelectionModel().getSelections();
var selectInvoiceArr = [];
for (var i = 0; i < storeData.length; i++) {
selectInvoiceArr.push(storeData[i].data); //把所有的值加入到数组里面
}
var jsonData = Ext.encode(selectInvoiceArr);转为json传到后台;
没选中的好回像不可答以把。。。
G. extjs 双击grid 一行 把这行的全部信息显示在弹出来的表单中 这个操作怎么实现高分求解
//grid1定义的grid
var record = grid1.getSelectionModel().getSelected();//获得当前选中行的数据源
if(record){
window.show();//显示window窗口
form1.getForm().loadRecord(record);//window中的form加载数据源
//form1定义的form
//form1中的控件的名字要与数据源的属性名对应,自动显示在form中了
}
H. Extjs中怎么给Ext.grid.EditorGridPanel中某一个单元格赋值
grid是与store绑定的,grid中的一行对应store中的一条记录。
grid的column有一个renderer的函数,你可以在合价这一个column中重写
renderer: function(v,p,r){
//r是对应的这行记录
return calc_sum(r); //在calc_sum中计算合计
}