1.我們先看一下**的幾個重要的配置store, columns, colmodel, sm, viewconfig…
store: grid的資料**,我們可以將其簡單的看成乙個ajax請求返回的資料(同時具有一些事件(datachange, load, add, clear and so on…))
columns: 控制grid的表頭、顯示哪個字段以及如何顯示(renderer方法)
colmodel: 管理columns,一般不需要覆寫這個配置
sm: 記錄前面的核取方塊
viewconfig: gridview的一些配置
gridpanel就是一張白紙,提供給store, column, colmodel, sm, grieview盡情的書寫而已
onrender : function(ct, position)
getview : function()
return this.view;
}
3.現在我們看一下gridview核心方法的呼叫
/* ----------------------------------- core specific -------------------------------------------*/
init:function(grid)
init這個方法就是上面第2步的時候gridpanel的onrender方法中呼叫的,
gridview與store的關聯可以看下面的**:
ds.on();
ds就是store, store載入到資料後會觸發自身的datachanged事件,然後會呼叫gridview的ondatachange,然後會呼叫refresh
方法呼叫是這樣的:ondatachange -> refresh -> renderbody -> renderrows -> dorender
ondatachange:function()
refresh:function(headerstoo)
renderbody:function()
===dorender !important===
dorender方法的角色就是乙個碼農,按照tpl的格式將資料填充到每一列每一行,最終返回乙個超級大的組裝好的dom節點
看一下dorender方法,關注有注釋的部分就行了
dorender:function(cs,rs,ds,startrow,colcount,stripe),rp=,r;
for(varj=0,len=rs.length;j
hibernate 中如何判斷修改的資料是否成功
update執行之後,如果失敗的話,會丟擲乙個異常。如果沒有異常丟擲,就是正常更新。然後就是用什麼提取什麼就可以了,不需要樓上說的那麼複雜。補充 session.update 之後,如果資料更新出現錯誤,丟擲異常是必然的,因為你用的是hibernate。如果不像在你自己的寫的方法內丟擲異常 可以把g...
SQL是如何在資料庫中執行的?
對很多開發者來說,資料庫就是個黑盒子,你會寫 sql,會用資料庫,但不知道盒子裡面到底是怎麼一回事兒,這樣你只能機械地去記住別人告訴你的那些優化規則,卻不知道為什麼要遵循這些規則,也就談不上靈活運用。資料庫的服務端,可以劃分為執行器 execution engine 和儲存引擎 storage en...
C C 中基本資料型別在記憶體中是如何儲存的
以windows32位系統為例,先來看看各種型別的資料占用的記憶體大小。型別 大小 位元組 bool 1 char short intlong float double 1 bool 在我的電腦中通過sizeof bool 計算得到該型別占用1個位元組,不過網上有人說該型別實際上是int型佔4個位元...