在ContentPane中居中dijit.form.buttons

时间:2011-08-31 23:06:40

标签: dojo dijit.form dijit.layout

我是一个包含3个内容窗格的边框容器。左,中,右。左数据网格(左内容窗格),右数据网格(右内容窗格),中心内容窗格中的2个按钮,用于在网格之间移动内容。

我唯一的问题是按钮格式化按钮始终显示在中心内容窗格的顶部。无论浏览器大小如何,我都需要它们在中心窗格的水平和垂直中心。我的实验未能将它们集中在一起。

<div  dojoType="dijit.layout.BorderContainer" gutters="false" >
    <div dojoType="dijit.layout.ContentPane" style="width: 45%; border: 1px solid lightgray" region="left">
        <table id="possibleChoices"
               dojoType="dojox.grid.DataGrid"
               clientSort="true"
               queryOptions="{cache:true}"
               store="possibleChoices"
               noDataMessage="<s:text name="messages.user.noChoiceAvailable"/>"
               rowsPerPage="50">
            <thead class="hideDojoLoad">
                <tr>
                    <th width="100%" field="name">possible choices</th>
                </tr>
            </thead>
        </table>
    </div>
   <div dojoType="dijit.layout.ContentPane" region="center" style="text-align: center; vertical-align: middle ">
        <button dojoType="dijit.form.Button" type="button" onclick="add"><s:text name="button.addArrow"/></button><br/>
        <button dojoType="dijit.form.Button" type="button" onclick="remove"><s:text name="button.removeArrow"/></button>
    </div>
    <div dojoType="dijit.layout.ContentPane" style="width: 45%; border: 1px solid lightgray" region="right">
        <table id="choose"
               dojoType="dojox.grid.DataGrid"
               clientSort="true"
               queryOptions="{cache:true}"
               store="choose"
               noDataMessage="No data found"
               rowsPerPage="50">
            <thead class="hideDojoLoad">
                <tr>
                    <th width="100%" field="name">Choice Made</th>
                </tr>
            </thead>
        </table>
    </div>
</div>

感谢任何可以帮助初学者提供任何帮助的人。

1 个答案:

答案 0 :(得分:1)

诀窍是在中心内容窗格中放置一个边框容器,其中一个空的内容窗格只占用空间。

<div  dojoType="dijit.layout.BorderContainer" gutters="false" >
    <div dojoType="dijit.layout.ContentPane" style="width: 45%; border: 1px solid lightgray" region="left">
     ....
</div>
<div dojoType="dijit.layout.ContentPane" region="center">
    <div  dojoType="dijit.layout.BorderContainer"  gutters="false" >
        <div dojoType="dijit.layout.ContentPane" region="top" style="height:40%; ">
                &nbsp;
        </div>
         <div dojoType="dijit.layout.ContentPane" region="center" style="text-align: center; ">
                <button dojoType="dijit.form.Button" type="button" onclick="add" style="vertical-align: middle"><s:text name="button.addArrow"/></button><br/>
                <button dojoType="dijit.form.Button" type="button" onclick="remove"><s:text name="button.removeArrow"/></button>
         </div>
    </div >
</div>
<div dojoType="dijit.layout.ContentPane" style="width: 45%; border: 1px solid lightgray" region="right">
           .....
</div>