});核心檔案如下:
mergecelltable.js
ext.define('ext.ux.view.mergecelltable', ">
', '',
],rendercell: function(column, record, recordindex, columnindex, out) )[column.dataindex];
cellvalues = me.cellvalues,
cellvalues.rowspan = rowspan;
// celltpl採用了display:none而不是不生成td, 因為若不生成td在使用rowediting時會出錯
cellvalues.hidden = rowspan === 0;
me.callparent(arguments);
},onadd: function(store, records, index, cfg) ,
onremove: function() ,
onupdate: function() ,
refresh: function() ,
getrowspans: function()
// 計算rowspan
rowspans = ;
var store = me.datasource,
mergecolumns = me.getmergecolumns();
var setsamelevelrowspan = function(rowspans, rowindex, columns, rowspan)
};var calculaterowspans = function(rowspans, mergecolumns, currentcolumnindex, store, from, to)
var columns = mergecolumns[currentcolumnindex],
i, current, prev, mergestart = 0;
var column = columns[0];
try ;
rowspans[i][column] = 1;
setsamelevelrowspan(rowspans, i, columns, 1);
// 遞迴獲取子列
if (prev != null)
prev = current;
mergestart = i;
} else ;
rowspans[i][column] = 0;
setsamelevelrowspan(rowspans, i, columns, 0);}}
if (i > mergestart)
} catch(e) }};
calculaterowspans(rowspans, mergecolumns, 0, store, 0, store.data.length - 1);
// 快取
me.__rowspans = rowspans;
return rowspans;
},getmergecolumns: function()
// 未配置時直接返回
var mergecolumns = me.mergecolumns;
if (ext.isempty(mergecolumns))
// 轉換合併規則
var separator = me.separator,
samelevelseparator = me.samelevelseparator;
columns = mergecolumns.split(separator);
var i, len = columns.length;
for (i = 0; i < len; i++)
// 快取
me.__merge_columns = columns;
return columns;
}});
mergecellpanel.js
ext.define('ext.ux.grid.mergecellpanel', );
me.callparent();
}});
ExtJs4 問題總結
在用到ext grid的時候,如果後台計算量大或者返回的資料量過大導致載入資料時間超時,時間超時後會發現grid沒有資料顯示。解決的方法是把超時的時間設定大點,ext的ajax預設請求都是30秒。設定方法如下 ext.ajax.timeout 90000 一秒 1000毫秒。上面設定是把timeou...
學習Extjs4心得
其實,學習extjs4的過程中,經常的檢視api。因為一開始接觸這個,所以一開始不會檢視api,但後來玩久了,也就能夠很熟練的玩了。其實,不管事什麼開發語言還是框架,學會檢視api是我們必須要做的事 在開發過程中,最糾結的就是除錯,我用的是firefox,裡面有個firebug,是除錯js的神器,可...
ExtJs4 基礎必備
解壓有20多兆,別怕,真正執行的沒這麼大。認識下這個包的檔案結構吧。1.類的命名規範 2 原始檔的命名規則 3 方法和變數的命名規則 4 屬性的命名規則 onready 只有在ext框架全部載入完後才能在客戶端的 中使用ext,而ext的onready正是用來註冊在ext框架及頁面的html 載入完...