grid中的資料是如何渲染上去的

2021-08-01 21:06:54 字數 1345 閱讀 6564

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個位元...