2012-02-09 19 views
0

水平バーが表示されているときに、テーブルヘッダーがデータと揃っていません。GWT 2.4 DataGrid - 水平スクロールバーが表示されているとき、ヘッダーがデータと揃っていません

スクロールがない場合は、ヘッダーが正しく整列されます。それが動作するChromeで

IE8のWindows7とIE7のWinXP

にGWT2.4でテスト

回避策はありますか? 何か間違っていますか?

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; 
} 

答えて

0

まあ、互換モードではIE7がデフォルトで動作するのに対し、IE8では互換性ボタンが押されたことが分かります。

関連する問題