jQuery MiniUI

 找回密码
 立即注册
查看: 4590|回复: 8
打印 上一主题 下一主题

mini-fit显示不正常 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2017-3-19 21:50:48 |只看该作者 |倒序浏览
本帖最后由 hks2002 于 2017-3-19 21:55 编辑
  1. <fieldset id="SearchFieldset">
  2.     <legend><label><input type="checkbox" checked id="checkbox1" hideFocus/>搜索条件(Search Criteria)</label></legend>
  3.     <div class="fieldset-body">
  4.         <input labelField="true" label="ID:" id="id"  name="menuId" class="mini-textbox" />
  5.         <input labelField="true" label="Menu Name:" id="menuName" name="menuName" class="mini-textbox" />
  6.         <input labelField="true" label="menuTooltip" style="width:400px;" id="menuTooltip" name="menuTooltip" class="mini-textarea"/>
  7.                 <input labelField="true" label="menuDesc" style="width:400px;" id="menuDesc" name="menuDesc" class="mini-textarea"/>
  8.         <input labelField="true" label="createdAt" id="createdAt" name="createdAt" class="mini-datepicker" value="2010-10-12"/>
  9.                 <input labelField="true" label="createdBy" id="createdBy" name="createdBy" class="mini-textbox" />
  10.                 <input labelField="true" label="updatedAt" id="updatedAt" name="updatedAt" class="mini-datepicker" value="2010-10-12"/>
  11.                 <input labelField="true" label="updatedBy" id="updatedBy" name="updatedBy" class="mini-textbox" />
  12.         <input labelField="true" label="ComboBox:" name="Country" showNullItem="true" class="mini-combobox" url="sqlsearch/sqlComparisonOperator" value="Equal" textField="text" valueField="op" />
  13.         <a class="mini-button" >搜索(Search)</a>
  14.         <a class="mini-button" >清除(Clear)</a>
  15.     </div>
  16. </fieldset>
  17. <!--撑满页面-->
  18. <div class="mini-fit" >
  19.          <div id="menugrid" class="mini-datagrid" url="menu/ajaxService?method=getpagejson"
  20.          style="height:100%" showLoading="false" allowAlternating="true" sizeList="[10,50,100,500,1000]"
  21.          showEmptyText="true" emptyText="无返回数据(No data found)!"
  22.          >
  23.         <div property="columns">
  24.             <div name="action" width="120" headerAlign="center" align="center" renderer="onActionRenderer" cellStyle="padding:0;">#</div>
  25.             <div field="menuId" width="120" headerAlign="center" allowSort="true">ID</div>               
  26.             <div field="menuName" width="100" allowSort="true" renderer="onGenderRenderer" align="center" headerAlign="center">名称</div>            
  27.             <div field="menuTooltip" width="100" allowSort="true">提示</div>
  28.             <div field="menuDesc" width="100" allowSort="true" dateFormat="yyyy-MM-dd">描述</div>                                    
  29.             <div field="createdAt" width="100" headerAlign="center" dateFormat="yyyy-MM-dd" allowSort="true">创建日期</div>
  30.             <div field="createdBy" width="100" headerAlign="center" allowSort="true">创建人</div>
  31.                         <div field="updatedAt" width="100" headerAlign="center" dateFormat="yyyy-MM-dd" allowSort="true">更新日期</div>
  32.                         <div field="updatedBy" width="100" headerAlign="center" allowSort="true">更新人</div>
  33.         </div>
  34.     </div>  
  35. </div>  
  36. <script type="text/javascript">
  37. mini.parse();
  38. mini.layout();
  39. function onSearch() {
  40.         var menugrid = mini.get("menugrid");
  41.         menugrid.load();
  42. }

  43. function toggleSearchFieldset(ck, id){
  44.                 var dom = document.getElementById(id);
  45.                 dom.className = !ck.checked ? "hideFieldset" : "";
  46.                 mini.layout();
  47. }
  48. </script>
复制代码

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
以上代码单独一页显示正常,当嵌入Tab中以后,data-grid的分页栏就不可见了, tab是URL加载的方式嵌入的。

Rank: 8Rank: 8

沙发
发表于 2017-3-20 11:37:37 |只看该作者
mini-fit的原理是父元素高度-兄弟元素高度
从你的页面看,你没设置页面尺寸

<style>
html,body
{
    height:100%;width:100%;padding:0;margin:0;
    }
</style>

Rank: 3Rank: 3

板凳
发表于 2017-3-20 12:39:43 |只看该作者
dforce 发表于 2017-3-20 11:37
mini-fit的原理是父元素高度-兄弟元素高度
从你的页面看,你没设置页面尺寸


页面已经设置了宽度和高度了,我写在miniui.css里面了。
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

地板
发表于 2017-3-20 13:57:54 |只看该作者
hks2002 发表于 2017-3-20 12:39
页面已经设置了宽度和高度了,我写在miniui.css里面了。


这例子是按这个代码做的,可以正常撑满页面。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 3Rank: 3

5#
发表于 2017-3-20 14:19:57 |只看该作者
本帖最后由 hks2002 于 2017-3-20 14:21 编辑
dforce 发表于 2017-3-20 13:57
这例子是按这个代码做的,可以正常撑满页面。

单独一个页面是没有问题的,但是嵌入Tab中就不行了。你看我发的截图,表格的分页栏是看不到的。

Rank: 3Rank: 3

6#
发表于 2017-3-20 14:44:16 |只看该作者
hks2002 发表于 2017-3-20 14:19
单独一个页面是没有问题的,但是嵌入Tab中就不行了。你看我发的截图,表格的分页栏是看不到的。 ...

我再看看,刚才试了一下,直接套在tab里没有问题。有可能是我最外层有个layout的原因,

Rank: 3Rank: 3

7#
发表于 2017-3-20 15:18:24 |只看该作者
hks2002 发表于 2017-3-20 14:44
我再看看,刚才试了一下,直接套在tab里没有问题。有可能是我最外层有个layout的原因, ...
  1.   <div id="layout1" class="mini-layout" style="width:100%;height:100%;">
  2.    <div region="north" showsplit="false" showheader="false" height="0">
  3.    </div>
  4.    <div title="center" region="center" bodystyle="overflow:hidden;">
  5.     <!--ToolBars-->
  6.     <div class="mini-toolbar" style="margin:0px;background:white;border:0" >
  7. <a class="mini-button" >增加</a>
  8. <a class="mini-button" >修改</a>
  9. <a class="mini-button" >删除</a>
  10. <span class="separator"></span>
  11. <a class="mini-button" >增加</a>
  12. <a class="mini-button" >修改</a>
  13. <a class="mini-button" >删除</a>
  14. <input class="mini-textbox" />
  15. <a class="mini-button" plain="true">查询</a>
  16. </div>  
  17.     <!--Tabs-->
  18.     <div id="mainTabs" class="mini-tabs bg-toolbar" activeindex="0" style="width:100%;height:100%;" bodystyle="border:0;background:white;" maskonload="false">
  19.      <div title="首页" url="uisetting">
  20.       <!--Tabs-->
  21.       <div id="uiSettingTabs" class="mini-tabs bg-toolbar" activeindex="0" style="width:100%;height:100%;" bodystyle="border:0;background:white;" maskonload="false">
  22.        <div title="菜单(Menus)" url="menu">
  23.         <fieldset id="SearchFieldset" class="hideFieldset">
  24.          <legend><label><input type="checkbox" id="checkbox1" onclick="toggleSearchFieldset(this, 'SearchFieldset')" hidefocus="" />搜索条件(Search Criteria)</label></legend>
  25.          <div class="fieldset-body">
  26.           <form id="menuSearch">
  27.            <input labelfield="true" label="ID:" id="id" name="menuId" class="mini-textbox" />
  28.            <input labelfield="true" label="Menu Name:" id="menuName" name="menuName" class="mini-textbox" />
  29.            <input labelfield="true" label="menuTooltip" style="width:400px;" id="menuTooltip" name="menuTooltip" class="mini-textarea" />
  30.            <input labelfield="true" label="menuDesc" style="width:400px;" id="menuDesc" name="menuDesc" class="mini-textarea" />
  31.            <input labelfield="true" label="createdAt" id="createdAt" name="createdAt" class="mini-datepicker" />
  32.            <input labelfield="true" label="createdBy" id="createdBy" name="createdBy" class="mini-textbox" />
  33.            <input labelfield="true" label="updatedAt" id="updatedAt" name="updatedAt" class="mini-datepicker" />
  34.            <input labelfield="true" label="updatedBy" id="updatedBy" name="updatedBy" class="mini-textbox" />
  35.            <input labelfield="true" label="ComboBox:" name="op_menuId" class="mini-combobox" url="sqlsearch/sqlComparisonOperator" value="Equal" textfield="text" valuefield="op" />
  36.           </form>
  37.          </div>
  38.         </fieldset>
  39.         <div class="mini-toolbar" style="margin:3px;background:white;border:0">
  40.          <a class="mini-button" onclick="onSearch">搜索(Search)</a>
  41.          <a class="mini-button" onclick="onClear">清除(Clear)</a>
  42.         </div>
  43.         <!--撑满页面-->
  44.         <div class="mini-fit">
  45.          <div id="menuGrid" class="mini-datagrid" url="menu/ajaxService?method=getpagejson" showloading="false" allowalternating="true" showemptytext="true" emptytext="无返回数据(No data found)!" style="height:100%" sizelist="[10,50,100,500,1000]">
  46.           <div property="columns">
  47.            <div name="action" width="120" headeralign="center" align="center" renderer="onActionRenderer" cellstyle="padding:0;">#</div>
  48.            <div field="menuId" width="120" allowsort="true">ID</div>
  49.            <div field="menuName" width="100" allowsort="true" renderer="onGenderRenderer">名称</div>
  50.            <div field="menuTooltip" width="100" allowsort="true">提示</div>
  51.            <div field="menuDesc" width="100" allowsort="true" dateformat="yyyy-MM-dd">描述</div>
  52.            <div field="createdAt" width="100" dateformat="yyyy-MM-dd" allowsort="true">创建日期</div>
  53.            <div field="createdBy" width="100" allowsort="true">创建人</div>
  54.            <div field="updatedAt" width="100" dateformat="yyyy-MM-dd" allowsort="true">更新日期</div>
  55.            <div field="updatedBy" width="100" allowsort="true">更新人</div>
  56.           </div>
  57.          </div>
  58.         </div>
  59.         <script type="text/javascript">
  60.                         mini.layout();
  61.                         mini.parse();

  62.                         function toggleSearchFieldset(ck, id){
  63.                                         var dom = document.getElementById(id);
  64.                                         dom.className = !ck.checked ? "hideFieldset" : "";
  65.                                         mini.layout();
  66.                         }

  67.                         function onSearch() {
  68.                                 var menuGrid   = mini.get("menuGrid");
  69.                                 var menuSearch = new mini.Form("menuSearch");
  70.                                 var data = menuSearch.getData();      //获取表单多个控件的数据
  71.                                 var key = mini.encode(data);

  72.                                 menuGrid.load({ key: key });
  73.                         }
  74.        </script>
  75.        </div>
  76.        <div title="菜单组(Menus Groups)" url="menusgroup">
  77.        </div>
  78.        <div title="按键(Buttons)" url="button">
  79.        </div>
  80.        <div title="标签页(Tabs)" url="tab">
  81.        </div>
  82.        <div title="代办(To Do List)" url="todolist">
  83.        </div>
  84.       </div>
  85.      </div>
  86.      <div title="首页2" url="menu">
  87.      </div>
  88.      <div title="首页3" url="dept/index">
  89.      </div>
  90.      <div title="首页4" url="dept/show/1">
  91.      </div>
  92.     </div>
  93.    </div>
  94.    <div title="south" region="south" showsplit="false" showheader="false" height="30">
  95.    </div>
  96.   </div>
复制代码
找到问题产生的地方了,就是中间有个toolbar. 去掉toolbar后,显示就正常了,这个toolbar需要怎么修改呢?

Rank: 8Rank: 8

8#
发表于 2017-3-20 15:47:25 |只看该作者
hks2002 发表于 2017-3-20 15:18
找到问题产生的地方了,就是中间有个toolbar. 去掉toolbar后,显示就正常了,这个toolbar需要怎么修改呢 ...

请不要设置margin,这种mini-fit计算的时候不会计算进去,然后就会造成误差

Rank: 3Rank: 3

9#
发表于 2017-3-20 15:54:47 |只看该作者
dforce 发表于 2017-3-20 15:47
请不要设置margin,这种mini-fit计算的时候不会计算进去,然后就会造成误差

解决了,可以在Toolbar外面再套一个div, 或者maintabs外套一个div 并设置class="mini-fit". 我原来的代码里面
maitabs的height=100%. 这个肯定会导致问题的。
谢谢版主。

Archiver|普加软件

GMT+8, 2024-9-29 06:25 , Processed in 1.063640 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部