最近在使用帶核取方塊grid元件的時候發現了乙個奇怪的問題,第一次載入這個grid元件時就給這個grid元件初始化資料並選中其中的某一項,但始終無法選中,經單步除錯發現,選中行的方法已被執行了,只是在所有的東西都執行完後,grid又重新整理了一下,導致原先選中的項丟失。
**如下:
js**
ext.onready(function(),[
, ,
]) });
var databindsm = new ext.grid.checkboxselectionmodel();
var cm = new ext.grid.columnmodel([
new ext.grid.rownumberer(),
databindsm,
, ,
]);
var grid = new ext.grid.gridpanel();
var viewport = new ext.viewport();
store.load(data);
alert("aa");
grid.getselectionmodel().selectrow(1,true);
alert("bb");
});
經查發現,原來是ext的mvc模式在作怪,原始碼中有如下方法:
js**
// private
afterrender : function()else
this.viewready = true;
}, 在render資料後並沒有顯示頁面,而是延遲渲染view,我們在view後再去選中,雖然設定了選中,但被延遲的渲染覆蓋掉了,所以導致邏輯正確而顯示不正確的結果。
解決辦法:
2、動態store:使用store的load事件,在裝載後進行選中
js**
grid.store.on("load",function());
如何更改MATLAB初始時的預設工作路徑
以windows7下安裝的matlab r2013a為例。假設matlab安裝路徑為 f program matlab r2013a 開啟matlab後輸入pwd printing working directory 顯示預設的當前工作路徑是 f program matlab r2013a bin ...
ExtJS Grid 分頁時保持選中的簡單實現方法
2013 11 25 22 30 extjs中經常要用到分頁和選擇,但是當選擇遇到分頁的時候,杯具就發生了,每一次翻頁,其它頁面的選中行就消失了。ext 沒有為我們提供內建的保持選中的支援,只有我們自己動手來實現了。先說一下具體的思路吧 首先在頁面中建立乙個陣列,用來儲存grid的所有選中行,然後分...
預設初始化
雖然保險的做法是對每個變數都顯示初始化,但是了解一下預設初始化的規則也是很有必要的。1.定義於任何函式體之外的變數被初始化為0。2.定義在函式體內部的區域性變數不會被預設初始化。所以,它的值是未定義的 這裡的 未定義 我的理解 變數所分配記憶體中的二進位制資料,分配時是什麼就是什麼,機器會按照變數的...