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中計算合計
}