序言:
1.本文摘自網路,看控制元件命名像是4.0以前的版本,但控制元件屬性配置仍然可以借鑑(不足之處,以後專案用到時再續完善)。
Ext.form.TimeField:
配置項:
maxValue:列表中允許的最大時間
maxText:當時間大於最大值時的錯誤提示資訊
minValue:列表中允許的最小時間
minText:當時間小於最小值時的錯誤提示資訊
increment:兩個相鄰選項間的時間間隔,預設為15分鐘
format:顯示格式,預設為“g:i A”。一般使用“H:i:s”
H:帶字首0的24小時
i:帶字首0的分鐘
s:帶字首0的秒
invalidText:當時間值非法時顯示的提示資訊
altFormats:多個時間輸入格式組成的字串,不同的格式之間使用“|”進行分割
Ext.form.FieldSet
animCollapse:動畫摺疊,預設為false
checkboxToggle:設定是否顯示欄位集的checkbox選擇框,預設為false
checkboxName:指定欄位集中用於展開或隱藏欄位集皮膚的checkbox的名字,該屬性只有在checkboxToggle為true時生效
labelWidth:欄位標籤的寬度,可以級聯到子容器
layout:佈局,預設為form
Ext.form.DateFied
maxValue:允許選擇的最大日期
maxText:當日期大於最大值時的錯誤提示資訊
minValue:允許選擇的最小時間
minText:當日期小於最小值時的錯誤提示資訊
format:日期顯示格式,預設為“m/d/y”,一般使用“Y-m-d”
Y:四位年份
m:帶字首0的月份
d:帶字首0的日期
y:兩位年份
n:不帶字首0的月份
j:不帶字首0的日期
w:星期的數字,0表示星期日,1代表星期一
showToday:是否顯示今天按鈕,預設為true
altFormats:多個日期輸入格式組成的字串,不同的格式之間使用“|”進行分割,預設值為'm/d/Y|n/j/Y|n/j/y|m/j /y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d'
disabledDates:禁止選擇的日期組成的陣列
disabledDatesText:選擇禁選日期時顯示的提示資訊
disabledDays:禁止選擇的星期組成的陣列,0代表星期日,1代表星期一
disabledDaysText:選擇禁選星期時顯示的提示資訊
invalidText:當日期值非法時顯示的提示資訊
方法:
getValue():取得日期值
Ext.form.ComboBox
displayField:被顯示在下拉框中的欄位名
editable:是否可編輯,預設為true
forceSelection:輸入值是否嚴格為待選列表中存在的值。如果輸入不存在的值,會自動選擇第一個最接近的值。
hiddenName:隱藏欄位的名字,如果提供該引數則一個隱藏欄位將被建立,用來儲存所選值,當表單提交時在伺服器端可以通過該名字取得列表中的所選值
listWidth:下拉選單的寬度
minListWidth:下拉選單的最小寬度,預設為70畫素
loadingText:當下拉框載入資料時顯示的提示資訊,只有當mode='remote'時才會生效
maxHeight:下拉選單框的最大高度,預設為300畫素
minChars:下拉選單框自動選擇前使用者需要輸入的最小字元數量。mode='remote'預設為4,mode='local'預設為0
mode:下拉選單框的資料讀取模式。remote讀取遠端資料,local讀取本地資料
pageSize:下拉選單框的分頁大小。該項設定只在mode='remote'時生效
queryParam:查詢的名字,預設為'query',將被傳遞到查詢字串中
allQuery:一個發往伺服器用來查詢全部資訊的查詢字串,預設為空字串''
selectOnFocus:當獲得焦點時立刻選擇一個已存在的列表項。預設為false,此項只有在editable=true時才會生效
store:列表框繫結的資料來源
transform:將頁面中已存在的元素轉換為組合框
lazyInit:延時初始化下拉選單,預設為true
lazyRender:延時渲染,預設為false
triggerAction:設定單擊觸發按鈕時執行的預設操作,有效值包括all和query,預設為query,如果設定為all則會執行allQuery中設定的查詢
typeAhead:設定在輸入過程中是否自動選擇匹配的剩餘部分文字(選擇第一個滿足條件的),預設為false
value:初始化組合框中的值
valueField:組合框的值欄位
valueNotFoundText:值不存在時的提示資訊
tpl:Ext模板字串或模板物件,可以通過該配置項自定義下拉選單的顯示方式
方法:
clearValue():清空欄位當前值
doQuery( String query, Boolean forceAll ):
getValue():
getStore():
setValue( String value ):
Ext.from.RadioGroup
allowBlank:
blankText:
Ext.form.Radio;
getGroupValue():
setValue( value {String/Boolean} ):
Ext.form.CheckboxGroup
allowBlank:是否允許不選擇,預設為true
blankText:
columns:顯示的列數,可選值包括:固定值auto、數值、陣列(整數、小數)
items:物件陣列
vertical:是否垂直方向顯示物件,預設為false
Ext.form.Checkbox
boxLabel:核取方塊的文字描述
checked:核取方塊是否被選擇,預設為false
handler:當checked值改變時觸發的函式,函式包含兩個引數:checkbox、checked
inputValue:
方法:
getValue():返回核取方塊的checked狀態
setValue( Boolean/String checked ):
Ext.form.NumberField
allowDecimals:是否允許輸入小數,預設為true
allowNegative:是否允許輸入負數,預設為true
baseChars:輸入的有效數字集合,預設為'0123456789'
decimalPrecision:數字的精度,預設保留小數點後2位
decimalSeparator:十進位制分隔符,預設為'.'
maxValue:允許輸入的最大數值
maxText:超過最大值之後的提示資訊
minValue:允許輸入的最小數值
minText:超過最小值之後的提示資訊
nanText:輸入非有效數值之後的提示資訊
Ext.form.TextArea
preventScrollbars:是否禁止出現滾動條,預設為false
Ext.form.TextField
allowBlank:是否允許為空,預設為true
blankText:空驗證失敗後顯示的提示資訊
emptyText:在一個空欄位中預設顯示的資訊
grow:欄位是否自動伸展和收縮,預設為false
growMin:收縮的最小寬度
growMax:伸展的最大寬度
inputType:欄位型別:預設為text
maskRe:用於過濾不匹配字元輸入的正規表示式
maxLength:欄位允許輸入的最大長度
maxLengthText:最大長度驗證失敗後顯示的提示資訊
minLength:欄位允許輸入的最小長度
minLengthText:最小長度驗證失敗後顯示的提示資訊
regex:正規表示式
regexText:正規表示式驗證失敗後顯示的提示資訊
vtype:驗證型別的名字
alpha:限制只能輸入字母
alphanum:限制只能輸入字母和數字
email
url
vtypeText:驗證失敗時的提示資訊
validator:自定義驗證函式
selectOnFocus:當欄位得到焦點時自動選擇已存在的文字,預設為false
Ext.form.Field
name:欄位名
value:欄位的初始化值
disabled:欄位是否不可用,預設為false
fieldLabel:欄位標籤說明
hideLabel:隱藏欄位標籤,預設為false
labelSeparator:欄位標籤與欄位之間的分隔符,預設為':'
labelStyle:欄位標籤樣式
inputType:預設為text
invalidClass:預設為x-form-invalid
invalidText:欄位非法文字提示
msgTarget:錯誤資訊顯示的位置,預設為qtip
qtip:顯示一個浮動的提示資訊
title:顯示一個瀏覽器的浮動提示資訊
under:在欄位下方顯示一個提示資訊
side:在欄位右邊顯示一個提示資訊
readOnly:欄位是否只讀,預設為false
validateOnBlur:欄位在失去焦點時被驗證,預設為true
方法:
clearInvalid():
getRawValue()
setRawValue( Mixed value )
getValue()
setValue( Mixed value )
isDirty():欄位值在裝載後是否被修改過
isValid( Boolean preventMark ):當前欄位值是否合法
markInvalid( [String msg] )
validate()
reset()
Ext.form.FormPanel
items:一個元素或元素陣列
buttons:一個按鈕配置物件的陣列,按鈕將被新增到表單頁尾中
buttonAlign:按鈕的對齊方式,可選值有left、center、right,預設為center
labelWidth:表單標籤的寬度
labelAlign:表單標籤的對齊方式,可選值有left、top、right,預設為left
labelSeparator:欄位標籤與欄位之間的分隔符,預設為':'
minButtonWidth:按鈕的最小寬度,預設為75
方法:
getForm() : Ext.form.BasicForm
load( Object options )
startMonitoring()
stopMonitoring()
Ext.form.BaseicForm
baseParams:傳遞到請求中的引數
method:表單的提交方式,有效值包括GET、POST
url:表單預設的提交路徑
fileUpload:表單是否進行檔案上傳
timeout:表單動作的超時時間,預設為30秒
trackResetOnLoad:是否在表單初次建立時清楚資料
方法:
doAction( String/Object actionName, [Object options] ):執行一個預訂的動作,可用選項包括:
url:動作提交的路徑
method:表單的提交方式,有效值包括GET、POST
params:傳遞到請求中的引數
headers:
success:執行成功後回撥的函式,包括兩個引數:form和action
failure:執行失敗後回撥的函式,包括兩個引數:form和action
clientValidation:是否客戶端驗證
clearInvalid():清除表單中所有的無效驗證資訊
findField( String id ):查詢表單欄位
getValues( [Boolean asString] ):
isDirty():表單資料是否被更改過
isValid():客戶端驗證是否成功
load( Object options ):執行表單讀取動作
loadRecord( Record record ):從一個資料記錄中讀取資料到表單中
markInvalid( Array/Object errors ):成批設定表單欄位為驗證無效
reset():重置表單
setValues( Array/Object values ):成批設定表單欄位值
submit( Object options ):執行表單提交動作
updateRecord( Record record ):持久化表單資料到記錄集中
Ext.form.Action
success:執行成功後回撥的函式,包括兩個引數:form和action
failure:執行失敗後回撥的函式,包括兩個引數:form和action
method:表單的提交方式,有效值包括GET、POST
params:傳遞到請求中的引數
url:動作提交的路徑
waitMsg:動作執行時顯示的等待資訊
屬性:
Action.CLIENT_INVALID:客戶端驗證錯誤
Action.CONNECT_FAILURE:通訊錯誤
Action.LOAD_FAILURE:載入資料時,沒有包含data屬性的欄位被返回
Action.SERVER_INVALID:服務端驗證錯誤
failureType:錯誤型別
result:包含布林型別的success屬性和其他屬性,如{success: true, msg: 'ok'}
type:動作型別,可選值有submit和load
Ext.form.Action.Submit:返回的資訊中要包含一個布林型別的success屬性和一個可選的errors屬性
Ext.form.Action.Load:返回的資訊中要包含一個布林型別的success屬性和一個data屬性
Ext.grid.EditorGridPanel
clicksToEdit:設定點選單元格進入編輯模式的點選次數,預設為2
autoEncode:是否自動編碼/解碼HTML內容,預設為false
selModel:預設為Ext.grid.CellSelectionModel
主要方法:
startEditing( Number rowIndex, Number colIndex ):開始編輯指定單元格
stopEditing( [Boolean cancel] ):結束編輯操作
Ext.grid.GroupinView
enableGroupingMenu:是否在表頭選單中進行分組控制,預設為true
groupByText:表頭選單中分組控制的選單文字,預設為'Group By This Field'
enableNoGroups:是否允許使用者關閉分組功能,預設為true
showGroupsText:在表頭選單中啟用分組和禁用分組的選單文字,預設為'Show in Groups'
groupTextTpl:用於渲染分組資訊的模板,預設為'{text}',常用的可選值有:
text:列標題:組欄位值
gvalue:組欄位的值
startRow:組行索引
enableGrouping:是否對資料分組,預設為true
hideGroupedColumn:是否隱藏分組列,預設為false
ignoreAdd:在向表格中新增資料時是否重新整理表格,預設為false
showGroupName:是否在分組行上顯示分組欄位的名字,預設為true
startCollapsed:初次顯示時分組是否處於收縮狀態,預設為false
主要方法:
collapseAllGroups():收縮所有分組行
expandAllGroups():展開所有分組行
getGroupId( String value ):根據分組欄位值取得組id
toggleAllGroups( [Boolean expanded] ):切換所有分組行的展開或收縮狀態
toggleGroup( String groupId, [Boolean expanded] ):切換指定分組行的展開或收縮狀態
2、Ext.data.GroupingStore
groupField:分組欄位
groupOnSort:是否在分組欄位上排序,預設為false
remoteGroup:是否遠端分組資料,預設為false。如果是遠端分組資料,則通過groupBy引數傳送分組欄位名
3、範例原始碼
var datas = [[1,"張三",24,"男",new Date(1986,06,09)], [2,"李四",30,"女",new Date(1980,09,13)], [3,"王五",28,"男",new Date(1982,01,10)]]; var person = Ext.data.Record.create([ {name: "personId", mapping: 0}, {name: "personName", mapping: 1}, {name: "personAge", mapping: 2}, {name: "personGender", mapping: 3}, {name: "personBirth", mapping: 4} ]); var grid = new Ext.grid.GridPanel({ title: "GroupingView例項", renderTo: "div1", width: 500, height: 300, frame: true, tbar: [ { text: "展開/收縮", iconCls: "search", handler: function(){ var view = grid.getView(); //var groupId = view.getGroupId("男"); //view.toggleGroup(groupId); view.toggleAllGroups(); } } ], store: new Ext.data.GroupingStore({ reader: new Ext.data.ArrayReader({id:0}, person), data: datas, sortInfo: {field:"personId", direction:"ASC"}, //資料排序 groupField: "personGender" //分組欄位 }), view: new Ext.grid.GroupingView({ sortAscText: "升序", sortDescText: "降序", columnsText: "表格欄位", groupByText: "使用當前欄位進行分組", showGroupsText: "表格分組", groupTextTpl: "{text}(共{[values.rs.length]}條)" }), columns: [ {id:"personId", header:"編號", width:50, dataIndex:"personId"}, {id:"personName", header:"姓名", width:70, dataIndex:"personName"}, {id:"personAge", header:"年齡", width:45, dataIndex:"personAge"}, {id:"personGender", header:"性別", width:45, dataIndex:"personGender"}, {id:"personBirth", header:"出生日期", width:120, dataIndex:"personBirth", renderer:Ext.util.Format.dateRenderer("Y年m月d日")} ] });
Ext.grid.GridPanel:
store:表格的資料集
columns:表格列模式的配置陣列,可自動建立ColumnModel列模式
autoExpandColumn:自動充滿表格未用空間的列,引數為列id,該id不能為0
stripeRows:表格是否隔行換色,預設為false
cm、colModel:表格的列模式,渲染表格時必須設定該配置項
sm、selModel:表格的選擇模式,預設為Ext.grid.RowSelectionModel
enableHdMenu:是否顯示錶頭的上下文選單,預設為true
enableColumnHide:是否允許通過標題中的上下文選單隱藏列,預設為true
loadMask:是否在載入資料時顯示遮罩效果,預設為false
view:表格檢視,預設為Ext.grid.GridView
viewConfig:表格檢視的配置物件
autoExpandMax:自動擴充列的最大寬度,預設為1000
autoExpandMin:自動擴充列的最小寬度,預設為50
columnLines:是否顯示列分割線,預設為false
disableSelection:是否禁止行選擇,預設為false
enableColumnMove:是否允許拖放列,預設為true
enableColumnResize:是否允許改變列寬,預設為true
hideHeaders:是否隱藏表頭,預設為false
maxHeight:最大高度
minColumnWidth:最小列寬,預設為25
trackMouseOver:是否高亮顯示滑鼠所在的行,預設為true
主要方法:
getColumnModel():取得列模式
getSelectionModel():取得選擇模式
getStore():取得資料集
getView():取得檢視物件
reconfigure( Ext.data.Store store, Ext.grid.ColumnModel colModel ):使用一個新的資料集和列模式重新配置表格元件
2、Ext.grid.Column
主要配置項:
id:列id
header:表頭文字
dataIndex:設定列與資料集中資料記錄的對應關係,值為資料記錄中的欄位名稱。如果沒有設定該項則使用列索引與資料記錄中欄位的索引進行對應
width:列寬
align:列資料的對齊方式
hidden:是否隱藏列,預設為false
fixed:是否固定列寬,預設為false
menuDisabled:是否禁用列的上下文選單,預設為false
resizable:是否允許改變列寬,預設為true
sortable:是否允許排序,預設為true
renderer:設定列的自定義單元格渲染函式
傳入函式的引數有:
value:資料的原始值
metadata:後設資料物件,用於設定單元格的樣式和屬性,該物件包含的屬性有:
css:應用到單元格TD元素上的樣式名稱
attr:一個HTML屬性定義字串,例如'style="color:blue"'
record:當前資料記錄物件
rowIndex:單元格的行索引
colIndex:單元格的列索引
store:資料集物件
xtype:列渲染器型別,預設為gridcolumn,其它可選值有booleancolumn、numbercolumn、datecolumn、templatecolumn等
editable:是否可編輯,預設為true
editor:編輯器
groupName:
emptyGroupText:
groupable:
3、Ext.grid.ColumnModel
主要配置項:
columns:欄位陣列
defaultSortable:是否進行預設排序,預設為false
defaultWidth:預設寬度
主要方法:
findColumnIndex( String col ):根據給定的dataIndex查詢列索引
getColumnById( String id ):取得指定id對應的列
getColumnCount( Boolean visibleOnly ):取得列總數
getColumnHeader( Number col ):取得列的表頭
getColumnId( Number index ):取得列id
getDataIndex( Number col ):取得列對應的資料欄位名
getIndexById( String id ):取得列索引
getTotalWidth( Boolean includeHidden )
isCellEditable( Number colIndex, Number rowIndex )
isFixed()
isHidden( Number colIndex )
setColumnHeader( Number col, String header )
setColumnWidth( Number col, Number width, Boolean suppressEvent )
setDataIndex( Number col, String dataIndex )
setEditable( Number col, Boolean editable )
setEditor( Number col, Object editor )
setHidden( Number colIndex, Boolean hidden )
setRenderer( Number col, Function fn )
4、Ext.grid.AbstractSelectionModel
主要方法:
lock():鎖定選擇區域
unlock():解鎖選擇區域
isLocked():當前選擇區域是否被鎖定
5、Ext.grid.CellSelectionModel
主要方法:
clearSelections( Boolean preventNotify ):清除選擇區域
getSelectedCell():取得當前選擇的單元格,返回一陣列,其格式:[rowIndex, colIndex]
hasSelection():當前是否有選擇區域
select( Number rowIndex, Number colIndex, [Boolean preventViewNotify], [Boolean preventFocus], [Ext.data.Record r] ):選擇指定單元格
6、Ext.grid.RowSelectionModel
主要配置項:
singleSelect:是否單選模式,預設為false,即可以選擇多條資料
主要方法:
clearSelections( [Boolean fast] ):清除所有選擇區域
deselectRange( Number startRow, Number endRow ):取消範圍內的行選擇
deselectRow( Number row, [Boolean preventViewNotify] ):取消指定行的選擇狀態
each( Function fn, [Object scope] ):遍歷所有選擇行,並呼叫指定函式。當前被選行將傳入該函式中
getCount():得到選擇的總行數
getSelected():得到第一個被選記錄
getSelections():得到所有被選記錄的陣列
hasNext():判斷當前被選行之後是否還有記錄可以選擇
hasPrevious():判斷當前被選行之前是否還有記錄可以選擇
hasSelection():是否已選擇了資料
isIdSelected( String id ):判斷指定id的記錄是否被選擇
isSelected( Number/Record index ):判斷指定記錄或記錄索引的資料是否被選擇
selectAll():選擇所有行
selectFirstRow():選擇第一行
selectLastRow( [Boolean keepExisting] ):選擇最後行
keepExisting:是否保持已有的選擇
selectNext( [Boolean keepExisting] ):選擇當前選擇行的下一行
selectPrevious( [Boolean keepExisting] ):選擇當前選擇行的上一行
selectRange( Number startRow, Number endRow, [Boolean keepExisting] ):選擇範圍內的所有行
selectRecords( Array records, [Boolean keepExisting] ):選擇一組指定記錄
selectRow( Number row, [Boolean keepExisting], [Boolean preventViewNotify] ):選擇一行
row:行索引
selectRows( Array rows, [Boolean keepExisting] ):選擇多行
rows:行索引陣列
7、Ext.grid.CheckboxSelectionModel
主要配置項:
singleSelect:是否單選模式,預設為false,即可以選擇多條資料
checkOnly:是否只能通過點選checkbox列進行選擇,預設為false
sortable:是否允許checkbox列排序,預設為false
width:checkbox列的寬度,預設為20
8、Ext.grid.RowNumberer
主要配置項:
header:行號列表頭顯示的內容
width:列寬,預設為23
9、Ext.grid.GridView
主要配置項:
enableRowBody:是否包含行體
sortAscText:表格標題選單中升序的文字描述
sortDescText:表格標題選單中降序的文字描述
columnsText:表格標題選單中列對應的文字描述
autoFill:是否自動擴充套件列以充滿整個表格,預設為false
forceFit:是否強制調整表格列寬以適用表格的整體寬度,防止出現水平滾動條,預設為false
主要方法:
focusCell( Number row, Number col ):將焦點移到指定單元格
focusRow( Number row ):將焦點移動指定行
getCell( Number row, Number col ):取得指定單元格對應的td元素
getHeaderCell( Number index ):取得指定表頭對應的td元素
getRow( Number index ):取得指定行對應的tr元素
getRowClass( Record record, Number index, Object rowParams, Store store ):得到附加到表格行上的樣式名
record:當前行的資料記錄物件
index:當前行的索引
rowParams:渲染時傳入到行模板中的配置物件,通過它可以為行體定製樣式,該物件只在enableRowBody為true時才生效,可能的屬性如下:
body:渲染到行體中的HTML程式碼片段
bodyStyle:應用到行體tr元素style屬性的字串
cols:應用到行體td元素colspan屬性的值,預設為總列數
store:表格資料集
refresh( [Boolean headersToo] ):重新整理表格元件
scrollToTop():滾動表格到頂端
Ext.TabPanel:
activeTab:初始啟用的tab,索引或者id值,預設為none
autoTabs:是否自動將帶有'x-tab'樣式類的div轉成tabs新增到TabPanel中,預設為false。
當該配置項設為true時,需要設定deferredRender為false,還必須使用applyTo。
deferredRender:是否延遲渲染,預設為true。
autoTabSelector:預設為'div.x-tab'。
resizeTabs:是否可以改變tab的尺寸,預設為false。
minTabWidth:tab的最小寬度,預設為30。
tabWidth:每個新增加的tab寬度,預設為120。
tabTip:tab的提示資訊
tabPosition:tab位置,可選值有top、bottom,預設為top。
enableTabScroll:是否允許Tab溢位時可以滾動,預設為false。
closable:tab是否可關閉,預設為false
scrollDuration:每次的滾動時長,預設為0.35毫秒。
scrollIncrement:每次的滾動步長,預設為100畫素。
wheelIncrement:每次滑鼠滑輪的滾動步長,預設為20畫素。
2、主要方法:
activate( String/Panel tab )
getActiveTab():獲取當前活動的tab
get( String/Number key ):根據元件id或者索引獲取元件
getItem(String id):根據tab id獲取tab
setActiveTab( String/Number item )
remove( Component/String component, [Boolean autoDestroy] )
removeAll( [Boolean autoDestroy] )
3、範例
new Ext.TabPanel({ id: "mainTab", renderTo: "div1", width: 500, height: 300, activeTab: 0, defaults: { autoScroll: true, autoHeight:true, style: "padding:5" }, items:[ {title:"normal", tabTip:"mormal", html:"tab1", iconCls:"add"}, {title:"ajax1", autoLoad:"messagebox.action", iconCls:"delete"}, {title:"ajax2", autoLoad:{url:"test.action", params:"p1=v1", nocache:true}, iconCls:"search"}, {title:"event", iconCls:"save", listeners:{activate:activateHandler}} ], enableTabScroll: true }); function activateHandler(tab){ //alert(tab.title); } var index = 0; function addTab(){ var tabs = Ext.getCmp("mainTab"); var t = tabs.getItem("tab"+index); if(t) tabs.remove(t); tabs.add({ id: "tab" + (++index), title: "NewTab" + index, html: "new tab" + index, closable: true }).show(); } //按鈕渲染到div1元素之前 new Ext.Button({ text:"add tab", handler:addTab, iconCls:"add" }).render(document.body, "div1");
在使用TabPanel時需要注意:
1、在建立Ext.TabPanel時deferredRender配置項經常會被忽略。該配置項的預設值是true。true表示只有在使用者第一次訪問 選項卡時,該選項卡的panel才會被渲染。 所以當我們有可能使用指令碼操作選項卡時,謹記將該配置項設定為false。
2、在FormPanel中使用TabPanel,如果在TabPanel中不定義deferredRender的值為false,那麼,當你使用 Load方法為Form載入資料,或使用setValue為沒有啟用過的Panel的控制元件賦值時,將會發生錯誤。原因是,在預設設定下 deferredRender為true,TabPanel並不會渲染所有Panel上的控制元件,只有在該Panel被啟用時才渲染控制元件,所以當你為這些控 件設定資料時,將會找不到這些控制元件,會出現錯誤。因而,在FormPanel中使用TabPanel,一定要在TabPanel中設定 deferredRender的值為false,強制TabPanel在Layout渲染時同時渲染所有Panel上的控制元件。