午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

EXTJs 布局

 豪情萬(wàn)千dctctj 2021-12-30

<1>FitLayout 自適應(yīng)布局

FitLayout 是布局的基礎(chǔ)類,對(duì)應(yīng)面板布局配置項(xiàng)(layout)的名稱為 fit,使用 fit 布局將使面板子元素自動(dòng)充滿容器,如果在當(dāng)前容器中存在多個(gè)子面板則只有第一個(gè)會(huì)被顯示。

  1. Ext.onReady(function(){
  2. //數(shù)據(jù)存儲(chǔ)
  3. var store = new Ext.data.SimpleStore(
  4. {
  5. fields: ['id', 'name', 'desc'],
  6. data: [
  7. ['1', '埃爾克森', '廣州恒大'],
  8. ['2', '埃杜', '遼寧宏運(yùn)'],
  9. ['3', '布魯諾', '青島中能'],
  10. ['4', '武磊', '上海東亞'],
  11. ['5', '高迪', '杭州綠城'],
  12. ['6', '艾德華', '上海申花'],
  13. ['7', '王永珀', '山東魯能'],
  14. ]
  15. }
  16. );
  17. //表格
  18. var grid = new Ext.grid.GridPanel(
  19. {
  20. title: '2013中超射手榜',
  21. viewConfig: {forceFit: true},
  22. store: store,
  23. columns: [
  24. {header:'排名', dataIndex: 'id'},
  25. {header:'姓名', dataIndex:'name'},
  26. {header:'球隊(duì)', dataIndex:'desc'}
  27. ],
  28. //工具條
  29. tbar: new Ext.Toolbar(['添加','修改','刪除']),
  30. bbar: new Ext.PagingToolbar(
  31. {
  32. pageSize: 15,
  33. store: store
  34. }
  35. )
  36. }
  37. );
  38. //布局
  39. /*
  40. Fitlayout:
  41. <1>layout: 'fit',組件的items只能放一個(gè)組件。即使放幾個(gè)組件,也只有第一個(gè)組件會(huì)起作用。
  42. <2>items中的表格里千萬(wàn)不要使用aotuHeight:true參數(shù),這個(gè)參數(shù)會(huì)使Fitlayout失效。
  43. */
  44. var viewport = new Ext.Viewport(
  45. {
  46. layout: 'fit',
  47. items: [grid]
  48. }
  49. );
  50. }
  51. );



<2>BorderLayout邊框布局

因?yàn)長(zhǎng)itLayout布局每次只能使用一個(gè)組件,更復(fù)雜的布局它根本無(wú)法勝任。

現(xiàn)實(shí)中使用最多的就是邊框布局,他將整個(gè)區(qū)域分成東西南北中五部分。除了中間區(qū)域其他區(qū)域都是可以省略的。

  1. Ext.onReady(function()
  2. {
  3. var viewport = new Ext.Viewport(
  4. {
  5. layout: 'border',
  6. items: [
  7. //north和south兩個(gè)區(qū)域只能指定高度值,寬度值由BorderLayout自動(dòng)計(jì)算。
  8. //east和west兩個(gè)區(qū)域只能指定寬度值,高度值由BorderLayout自動(dòng)計(jì)算。
  9. {region:'north',html:'north',height:120},
  10. {region:'south',html:'south',height:30},
  11. {region:'east',html:'east',width:40},
  12. {region:'west',html:'west',width:100},
  13. {region:'center',html:'center'}
  14. ]
  15. }
  16. );
  17. }
  18. );


使用split并限制他的范圍

使用了就可以允許用戶自行拖放以改變某一區(qū)域的大小。

  1. //north和south兩個(gè)區(qū)域只能上下拖放east和west兩個(gè)區(qū)域只能左右拖放
  2. //minSize:菜單區(qū)域的最小范圍maxSize:菜單區(qū)域的最大范圍
  3. {region:'west',html:'west',width:100,split:true,minSize:80,maxSize:120},



子區(qū)域的折疊和展開(kāi)

  1. Ext.onReady(function()
  2. {
  3. var viewport = new Ext.Viewport(
  4. {
  5. layout: 'border',
  6. items: [
  7. //north和south兩個(gè)區(qū)域只能指定高度值,寬度值由BorderLayout自動(dòng)計(jì)算。
  8. //east和west兩個(gè)區(qū)域只能指定寬度值,高度值由BorderLayout自動(dòng)計(jì)算。
  9. {region:'north',html:'north',height:120},
  10. {region:'south',html:'south',height:30},
  11. {region:'east',html:'east',width:40},
  12. //collapsible:true激活了west區(qū)域的折疊功能。title是必須的,如果沒(méi)有設(shè)置標(biāo)題,折疊按鈕就無(wú)法顯示。
  13. {region:'west',html:'west',width:100,title:'菜單欄',width:150,collapsible:true},
  14. {region:'center',html:'center'}
  15. ]
  16. }
  17. );
  18. }
  19. );


<3>制作伸縮菜單的布局 Accordion

  1. /*
  2. 設(shè)置layout: 'accordion',在使用items添加三個(gè)元素,每個(gè)子元素都要加上title參數(shù)。
  3. */
  4. Ext.onReady(function()
  5. {
  6. var viewport = new Ext.Viewport(
  7. {
  8. layout:'border',
  9. items:[
  10. {
  11. region: 'west',
  12. width: 200,
  13. layout: 'accordion',
  14. //與布局有關(guān)的參數(shù)
  15. layoutConfig: {
  16. titleCollapse: true,//點(diǎn)擊標(biāo)題時(shí)就可以折疊面板
  17. animate: true,//展開(kāi)和折疊都是用動(dòng)畫
  18. activeOnTop: false//默認(rèn)是false執(zhí)行展開(kāi)和折疊操作后子面板的順序不會(huì)變。如果是true展開(kāi)的子面板總是放在上面。
  19. },
  20. items: [
  21. {
  22. title: '中超',
  23. html: '山東魯能 19'
  24. },
  25. {
  26. title: '中甲',
  27. html: '河南建業(yè) 22'
  28. },
  29. {
  30. title: '英超',
  31. html: ' 曼聯(lián) 85'
  32. }
  33. ]
  34. },
  35. {
  36. region: 'center',
  37. split: true,
  38. border: true
  39. }
  40. ]
  41. }
  42. );
  43. }
  44. );


<4>AnchorLayout   控制位置和大小的布局

  1. /*
  2. AnchorLayout提供了一種比較靈活的布局方式,既可以為items中的每個(gè)組件指定與總體布局大小的差值,也可以
  3. 設(shè)置一個(gè)比例使子組件可以根據(jù)整體自己計(jì)算本身的大小。
  4. <1>使用百分比進(jìn)行配置
  5. anchor:'50% 80%' 寬度占整體寬度的50% 高度占整體高度的80%
  6. anchor:'50%' 寬度占整體寬度的50% 高度自動(dòng)設(shè)置為auto
  7. <2>直接設(shè)置與右側(cè)和底部的邊距
  8. anchor:'-50 -100' 距右側(cè)50像素 距底部100像素
  9. <3>使用前提是為作為整體布局的父組件和布局內(nèi)的子組件都設(shè)置好width,height和auchorSize屬性
  10. Anchor會(huì)記錄布局整體與子組件在大小的差值
  11. anchor:'r b' 也可寫成anchor:'right buttom'
  12. */
  13. Ext.onReady(function()
  14. {
  15. var viewport = new Ext.Viewport(
  16. {
  17. layout: 'anchor',
  18. items: [
  19. {
  20. title:'panel 1',
  21. html:'panel 1',
  22. anchor:'-50 -100'
  23. },
  24. ]
  25. }
  26. );
  27. }
  28. );


  1. Ext.onReady(function()
  2. {
  3. var viewport = new Ext.Viewport(
  4. {
  5. layout: 'anchor',
  6. anchorSize:{width:400,height:300},
  7. items: [
  8. {
  9. title:'panel 1',
  10. html:'panel 1',
  11. width:200,
  12. height:100,
  13. anchor:'r b'
  14. },
  15. {
  16. title:'panel 2',
  17. html:'panel 2',
  18. width:100,
  19. height:200,
  20. anchor:'r b'
  21. },
  22. ]
  23. }
  24. );
  25. }
  26. );


<5>表單布局 formLayout

  1. Ext.onReady(function()
  2. {
  3. var viewport = new Ext.Viewport(
  4. {
  5. layout: 'fit',
  6. items: [
  7. {
  8. xtype:'form',
  9. title:"name",
  10. labelAlign:"right",
  11. labelWidth:50,
  12. frame:true,
  13. defaultType:"textfield",
  14. items:[
  15. {
  16. fieldLabel:"名稱",
  17. name:"name",
  18. anchor:'90%',
  19. },
  20. {
  21. fieldLabel:"生日",
  22. name:"birthday",
  23. xtype:'datefield',
  24. anchor:'90%',
  25. },
  26. {
  27. fieldLabel:"備注",
  28. name:"desc",
  29. xtype:'textarea',
  30. anchor:'90% -100',
  31. },
  32. ]
  33. },
  34. ]
  35. }
  36. );
  37. }
  38. );


<6>TabPanel

  1. Ext.onReady(function()
  2. {
  3. var simple = new Ext.FormPanel(
  4. {
  5. labelWidth: 70,
  6. frame: true,
  7. title: 'Simple Form',
  8. bodyStyle: 'padding:5px 5px 0',
  9. width: 800,
  10. defaults:
  11. {
  12. width: 300
  13. },
  14. defaultType: 'textfield',
  15. items: [
  16. {
  17. xtype : "tabpanel",
  18. //初始顯示第幾個(gè)Tab頁(yè)
  19. activeTab : 0,
  20. plain : true,
  21. height : 195,
  22. defaultType : "panel",
  23. bodyStyle : "padding:5px;",
  24. //當(dāng)Tab標(biāo)簽過(guò)多時(shí),出現(xiàn)滾動(dòng)條
  25. enableTabScroll: true,
  26. items : [
  27. {
  28. title : "聯(lián)系方式",
  29. layout : "form",
  30. defaultType : "textfield",
  31. defaults : {
  32. widht : 400,
  33. anchor : "96%,96%"
  34. },
  35. items : [
  36. {
  37. fieldLabel : "單位負(fù)責(zé)人",
  38. name : "principal",
  39. id : "principal"
  40. },
  41. {
  42. fieldLabel : "傳真",
  43. name : "customer.fax",
  44. xtype : "numberfield",
  45. id : "fax"
  46. },
  47. {
  48. fieldLabel : "網(wǎng)址",
  49. name : "customer.site",
  50. id : "site"
  51. },
  52. ]
  53. },
  54. {
  55. title : "公司信息",
  56. layout : "form",
  57. defaults : {
  58. widht : 400,
  59. anchor : "96%,96%"
  60. },
  61. defaultType : "textfield",
  62. items : [
  63. {
  64. fieldLabel : "公司規(guī)模",
  65. hiddenName : "customer.companyScale",
  66. id : "companyScale",
  67. xtype : "combo",
  68. mode : "local",
  69. editable : false,
  70. triggerAction : "all",
  71. store : [
  72. ["1", "1-20人"],
  73. ["2", "20-50人"],
  74. ["3", "50-100人"],
  75. ["4", "100-200人"],
  76. ["5", "200-500人"],
  77. ["6", "500-1000人"],
  78. ["7", "1000人以上"]
  79. ]
  80. },
  81. {
  82. fieldLabel : "開(kāi)戶銀行",
  83. name : "customer.openBank",
  84. id : "openBank"
  85. },
  86. {
  87. fieldLabel : "銀行賬號(hào)",
  88. xtype : "numberfield",
  89. name : "customer.accountsNo",
  90. id : "accountsNo"
  91. },
  92. {
  93. fieldLabel : "稅號(hào)",
  94. name : "customer.taxNo",
  95. id : "taxNo"
  96. }
  97. ]
  98. },
  99. {
  100. title : "其它信息",
  101. layout : "form",
  102. defaultType : "textarea",
  103. defaults : {
  104. widht : 400,
  105. anchor : "96%,96%"
  106. },
  107. items : [
  108. {
  109. fieldLabel : "公司描述",
  110. name : "customer.otherDesc",
  111. id : "otherDesc"
  112. },
  113. {
  114. fieldLabel : "備注",
  115. name : "customer.notes",
  116. id : "notes"
  117. }
  118. ]
  119. }
  120. ]
  121. }
  122. ]
  123. }
  124. );
  125. simple.render('spinner');
  126. }
  127. );




    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約