Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT数据网格与SimpleLayoutPanel赢得';t显示垂直滚动条_Java_Gwt_Datagrid - Fatal编程技术网

Java GWT数据网格与SimpleLayoutPanel赢得';t显示垂直滚动条

Java GWT数据网格与SimpleLayoutPanel赢得';t显示垂直滚动条,java,gwt,datagrid,Java,Gwt,Datagrid,在GWT showcase以及我发现的许多示例中,DataGrid始终有一个非常简单的用法: 在UIBinder中定义DataGrid元素,并设置要提供的字段 在视图构造函数中初始化网格-定义列并添加数据 生成UI活页夹 它所呈现的一切都与预期相符 但常见的情况并非如此静态:您通常设置了网格,但没有数据,只有在用户执行某些操作(单击按钮等)后才能提供这些数据 在复杂的UI布局中展示DataGrid花了我很多时间:| 为此,网格现在位于SimpleLayoutPanel中,该面板具有100%的宽度

在GWT showcase以及我发现的许多示例中,DataGrid始终有一个非常简单的用法:

  • 在UIBinder中定义DataGrid元素,并设置要提供的字段
  • 在视图构造函数中初始化网格-定义列并添加数据
  • 生成UI活页夹
  • 它所呈现的一切都与预期相符
  • 但常见的情况并非如此静态:您通常设置了网格,但没有数据,只有在用户执行某些操作(单击按钮等)后才能提供这些数据

    在复杂的UI布局中展示DataGrid花了我很多时间:| 为此,网格现在位于SimpleLayoutPanel中,该面板具有100%的宽度和高度,并且该SimpleLayoutPanel位于某个固定面板内。 但出于我不明白的原因,网格显示超出了对接面板的大小,所以我永远看不到其滚动条的底端

    这是我的UI活页夹(为了清晰起见删除了一些内容):

    
    .侧边填充{
    左侧填充:8px;
    右边填充:8px;
    }
    .扩大{
    宽度:100%;
    身高:100%;
    }
    ...
    ...
    一些工具栏
    一些面板
    一些流程面板
    
    事实证明,east面板的高度为650px,这是正确的值,但SimpleLayoutPanel内的DataGrid也具有相同的高度!因为在它之前有一些标签等,它溢出了东面板的大小

    有什么帮助吗

    更新: 看起来,如果我从east面板中删除所有内容,只留下DataGrid的SimpleLayoutPanel,那么它就可以找到了! 但我确实需要在网格上方添加所有这些额外的标签,我找不到解决方案。 ??参见

    布局面板(
    RequiresResize
    widgets)必须嵌套到其他布局面板(
    providesize
    widgets)中,一直嵌套到
    RootLayoutPanel
    、一个
    ResizePanel
    或一个具有明确和固定大小的布局面板(即,不是fuild,例如,不是以父面板的百分比表示,而是以像素表示)

    在这里,
    DockLayoutPanel
    SimpleLayoutPanel
    之间的
    FlowPanel
    打破了层次结构

    您可能希望将
    流程面板
    标题面板
    进行交易,将所有
    流程面板
    放在标题(容器
    流程面板
    )中,并将
    SimpleLayoutPanel
    (或
    数据网格
    )作为内容。
    尽管未实施
    ProvidesResize
    HeaderPanel
    尊重本合同,但仅限于其内容子项(这是关键:根据
    HeaderPanel
    的大小以及页眉和页脚的固有大小调整内容子项的大小)

    <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
        xmlns:g="urn:import:com.google.gwt.user.client.ui">
    
    <ui:style>
    
    .sidePadding {
        padding-left: 8px;
            padding-right: 8px;
     }
    
        .expanded {
        width: 100%;
        height: 100%;
    }
    
    
    <g:DockLayoutPanel unit="PX" styleName="{style.expanded}">
        <g:north size="45">
            ...
        </g:north>
        <g:center>
        </g:center>
            ...
        <g:east size="190">
            <g:FlowPanel styleName="{style.sidePadding}">
                <g:FlowPanel>
                    <g:Label>SOME TOOLBAR</g:Label>
                </g:FlowPanel>
                <g:HTMLPanel>
                    <g:Label>SOME PANEL PANEL </g:Label>
                </g:HTMLPanel>
                <g:FlowPanel ui:field="eastContent">
                    <g:Label>SOME FLOW PANEL</g:Label>
                </g:FlowPanel>
                <g:SimpleLayoutPanel ui:field="imagesGrid" addStyleNames="{style.expanded}"/>
            </g:FlowPanel>
        </g:east>
    </g:DockLayoutPanel>
    
    </ui:UiBinder>