1. 程式人生 > >easyui datagrid 高度佈局自適應

easyui datagrid 高度佈局自適應

最近在把以前寫的一個專案改成用easyui做前端。過程中遇到了不少問題。其中一個就是datagrid不能很好的佈局。想了好多辦法都有侷限。最後想到會不會是佈局(easyui-layout)的問題,經過實驗,最後問題解。


1:比如在專案中用到了datagrid。如果介面比較簡單---只有一個datagrid只需要把它的屬性fit 設定為true就能實現自動適應窗體。如果在datagrid上方還有其他div的話,div 就會把datagrid擠壓到窗體的下方。如果datagrid有分頁控制元件,分頁控制元件就看不到了。這個時候就應該用 easyui-layout來分隔窗體來使具體的內容放在easyui-layout不同的部分。這樣就能很好的解決自適應問題。   糟糕的寫法:      <div>查詢條件</div>   <table class="easyui-datagrid" fit="true"></table>   正確的寫法:           <div class="easyui-layout"data-options="fit:true">             <div data-options="region:'north'" style="height:100px">                 <div>查詢條件</div>             </div>             <div data-options="region:'center'">                 <table class="easyui-datagrid" fit="true"></table>             </div>         </div>   2:基於body標籤的easyui-layout當瀏覽器視窗大小改變時,easyui-layout可以根據視窗的大小來調整自己的大小.基於div標籤的easyui-layout如果想擁有上述功能必須設定easyui-layout的屬性fit等於true.   情形1:           <body class="easyui-layout">             <div data-options="region:'north'" style="height:100px">                 <table id="part1"></table>             </div>             <div data-options="region:'center'">                 <table id="part2"></table>             </div>         </div>   情形2:           <div class="easyui-layout"data-options="fit:true">             <div data-options="region:'north'" style="height:100px">                 <table id="part1"></table>             </div>             <div data-options="region:'center'">                 <table id="part2"></table>             </div>         </div>   3:在html中定義easyui時,下面兩種寫法是一樣的。即easyui控制元件的屬性可以寫在dataoptions屬性裡,也可以把這些屬性寫到標籤上。   寫法1:           <div class="easyui-layout"data-options="fit:true">             <div data-options="region:'north'" style="height:100px">                 <table id="part1"></table>             </div>             <div data-options="region:'center'">                 <table id="part2"></table>             </div>         </div>   寫法2:   <div class="easyui-layout"fit="true">   <div region="north"style="height:100px;">     <table id="part1"></table>   </div>   <div region="center">             <table id="part2"></table>   </div> </div>