Extjs grid panel自帶滾動條失效的解決方法
之前用EXTJS的gridPanel組件的時候,因為經(jīng)常對gridPanel中的stroe數(shù)據(jù)進行過濾,所以有時候總是導(dǎo)致gridPanel自身所帶的scrollbar失效。
取個實例,EXTJS gridPanel自帶的滾動條,是有一個固定的列寬來放置這個scrollbar的,如上圖所示。所以當(dāng)這個scrollbar失效的時候,無論你怎么拖動這個滾動條,grid中的數(shù)據(jù)永遠都不會隨scrollbar的移動而展示相應(yīng)區(qū)域的數(shù)據(jù)(換句話說就是你永遠看到的數(shù)據(jù)都是截圖中的這幾條record)。
至于為什么gridpanel會失效?暫時也不清楚原因是什么。之前在Extjs的論壇和stackoverflow上都有人遇見類似的問題,但是版本可能是都是4.1之前的,Extjs的dev team說他們從4.1版本開始已經(jīng)修復(fù)了這個問題(不確定,希望用過4.1版本的童鞋論證下)。
好了,現(xiàn)在來說說怎么解決scrollbar失效。
xtype: 'gridpanel', // autoScroll:true, scroll:false, viewConfig: { style: { overflow: 'auto', overflowX: 'hidden' } }
可以看到,禁用了autoScroll這個屬性,并且把scroll設(shè)置為false,然后設(shè)置viewConfig, 這里把橫向的滾動條給禁用了,只保留縱向的滾動條。OK 問題解決,看看效果:
這時會發(fā)現(xiàn)滾動條沒有了自己的固有列,而是和grid的最后一個列并在了一起,gridPanel自帶的scrollbar就這樣被禁用咯。
同時也解決了這個潛在的bug。
但是這種用法最好是將grid中的所有列都設(shè)置好固定的寬度,并且設(shè)置屬性:
resizable:false
這樣可以避免一些禁用橫向滾動條帶來的不必要麻煩。
相關(guān)文章
Ext GridPanel加載完數(shù)據(jù)后進行操作示例代碼
Ext GridPanel加載完數(shù)據(jù)后進行操作,比如load數(shù)據(jù)之后選定某些行數(shù)據(jù),下面有個示例,需要的朋友可以參考下2014-06-06Extjs學(xué)習(xí)筆記之二 初識Extjs之Form
form恐怕是Web開發(fā)中最常用的控件了,Extjs對普通的html form進行了一些封裝,使其具有基本的外觀和一些簡便的和服務(wù)器進行通信的方法。2010-01-01Extjs4 關(guān)于Store的一些操作(加載/回調(diào)/添加)
本文詳細介紹下關(guān)于加載和回調(diào)的問題、從一個store添加符合某條件記錄給另一個store中,感興趣的朋友可以參考下,希望對你有所幫助2013-04-04Extjs Gird 支持中文拼音排序?qū)崿F(xiàn)代碼
本文為大家詳細介紹下Extjs Gird 支持中文拼音排序以及修復(fù)漢字排序異常的Bug、localeCompare比較漢字字符串,F(xiàn)irefox與IE均支持,感興趣的朋友可以參考下2013-04-04ExtJS4利根據(jù)登錄后不同的角色分配不同的樹形菜單
這篇文章主要介紹了ExtJS4利根據(jù)登錄后不同的角色分配不同的樹形菜單,需要的朋友可以參考下2014-05-05