GWT 2.4 DataGrid - 当水平滚动条出现时,标题未与数据对齐

时间:2012-02-09 12:44:35

标签: gwt

当水平条显示时,表格标题与数据不对齐。

如果没有滚动,则标题正确对齐。

使用GWT2.4进行测试

IE8 Windows7和IE7 WinXP

使用Chrome可以正常使用。

有解决方法吗? 我做错了吗?

public void onModuleLoad()
{
    DataGrid table = createTable();
    RootLayoutPanel rp = RootLayoutPanel.get();
    rp.add(table);

}


DataGrid createTable()
{
    ArrayList<HashMap> list = new ArrayList<HashMap>();

    HashMap row = new HashMap();
    row.put("1", true);
    row.put("2", "Model ABC");
    row.put("3", "1X1.5-6");
    row.put("4", "0.344");
    row.put("5", "IRON");
    row.put("6", "3,500");
    row.put("7", "102");
    row.put("8", "4.458");
    row.put("9", "57.5");
    row.put("10", "31.403");
    row.put("11", "5.5");

    list.add(row);

    DataGrid table = new DataGrid();

    Column columnDef2 = new Column<HashMap, Boolean>(new CheckboxCell())
    {
        @Override
        public Boolean getValue(HashMap object)
        {
            return (Boolean) object.get("1");
        }
    };
    table.addColumn(columnDef2, "1");
    table.setColumnWidth(columnDef2, 100, Unit.PX);

    Column columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("2");
        }
    };
    table.addColumn(columnDef, "2");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("3");
        }
    };
    table.addColumn(columnDef, "3");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("4");
        }
    };
    table.addColumn(columnDef, "4");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("5");
        }
    };
    table.addColumn(columnDef, "5");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("6");
        }
    };
    table.addColumn(columnDef, "6");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("7");
        }
    };
    table.addColumn(columnDef, "7");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("8");
        }
    };
    table.addColumn(columnDef, "8");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("9");
        }
    };
    table.addColumn(columnDef, "9");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("10");
        }
    };
    table.addColumn(columnDef, "10");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    columnDef = new Column<HashMap, String>(new TextCell())
    {
        @Override
        public String getValue(HashMap object)
        {
            return (String) object.get("11");
        }
    };
    table.addColumn(columnDef, "11");
    table.setColumnWidth(columnDef, 100, Unit.PX);

    table.setRowCount(list.size(), true);
    table.setRowData(0, list);

    return table;
}

1 个答案:

答案 0 :(得分:0)

事实证明,对于IE8,按下兼容性按钮,而IE7默认在兼容模式下运行。