0
A
回答
0
這應該作爲提供情況的簡單解決方案。請將「YourPage」替換爲您的實際頁面,將「YourClass」替換爲您的類,將「yourColumn1」,「yourColumn2」替換爲您的實際列,將「object.getYourColumnValue」替換爲您的實際獲取值方法。另請注意,不要忘記將數據綁定到表格(使用:「ContactDatabase.get()。addDataDisplay(dataGrid1);」,如展示中所示或「dataGrid1.setRowData(0,yourData);」
public class YourPage extends Composite {
...
// attributes
private Column<YourClass, String> yourColumn1;
private Column<YourClass, String> yourColumn2;
...
public DataGrid<YourClass> buildGrid() {
dataGrid1 = new DataGrid<YourClass>();
dataGrid1.setWidth("100%");
dataGrid1.setHeight("100%");
dataGrid1.setAutoHeaderRefreshDisabled(true);
// Generating columns
yourColumn1 = new Column<YourClass, String>(new TextCell()) {
@Override
public String getValue(YourClass object) {
return object.getYourColumnValue();
}
};
dataGrid1.addColumn(yourColumn1, "Column 1");
dataGrid1.setColumnWidth(0, 50, Unit.PCT);
yourColumn2 = new Column<YourClass, String>(new TextCell()) {
@Override
public String getValue(YourClass object) {
return object.getYourColumnValue();
}
};
dataGrid1.addColumn(yourColumn2, "Column 2");
dataGrid1.setColumnWidth(1, 50, Unit.PCT);
// setHeaderBuilder
dataGrid1.setHeaderBuilder(
new dataGrid1HeaderBuilder(
dataGrid1, false));
...
return dataGrid1;
}
// your private header builder class
private class dataGrid1HeaderBuilder extends AbstractHeaderOrFooterBuilder<YourClass> {
public tblValidatorsGroupsAnalysisResultsHeaderBuilder(
AbstractCellTable<YourClass> table, boolean isFooter) {
super(table, false);
setSortIconStartOfLine(false);
}
@Override
protected boolean buildHeaderOrFooterImpl() {
Style style = dataGrid1.getResources().style();
TableRowBuilder tr = startRow();
TableCellBuilder th = tr.startTH().colSpan(1);
th.style().trustedProperty("border-right", "10px solid yellow").cursor(Cursor.POINTER).endStyle();
th.text("Name").endTH();
// Your "Header" for 2 column
th = tr.startTH().colSpan(2);
th.text("Header").endTH();
// Add Column1 and Column2 headers
tr = startRow();
buildHeader(tr, new TextHeader("Column1"), yourColumn1, null, false, false, false);
buildHeader(tr, new TextHeader("Column2"), yourColumn2, null, false, false, false);
tr.endTR();
return true;
}
private void buildHeader(TableRowBuilder out, Header<?> header, Column<YourClass, ?> column,
Column<?, ?> sortedColumn, boolean isSortAscending, boolean isFirst, boolean isLast) {
Style style = dataGrid1.getResources().style();
boolean isSorted = (sortedColumn == column);
StringBuilder classesBuilder = new StringBuilder(style.header());
// Create the table cell.
TableCellBuilder th = out.startTH().className(classesBuilder.toString());
// Render the header.
Context context = new Context(0, 0, header.getKey());
renderSortableHeader(th, context, header, isSorted, isSortAscending);
// End the table cell.
th.endTH();
}
}
}
相關問題
- 1. 在UICollectionViewController標題上添加UISearchBar標題
- 2. 關於在數據網格中保存列標題的問題!
- 3. 在數據網格中將行添加爲組標題
- 4. Python PrettyTable:在表格標題上添加標題
- 5. 在SQL Server查詢結果上方添加標題標題
- 6. 在網站標題中添加徽標
- 7. 如何在extjs的網格列標題中添加過濾器?
- 8. 將標題行添加到數據網格中斷了分頁
- 9. 如何更改列標題標題從SQL查詢數據網格在vb.net
- 10. 在KendoUI網格列標題中添加Hovertext
- 11. 如何在標題文本後的網格視圖標題中添加圖像
- 12. 爲數據網格標題添加不同的上下文菜單
- 13. 添加網格標題網格卡的Android
- 14. 添加標題中的數據的ListView
- 15. 添加基於列標題
- 16. Flexigrid表格:如何在列標題上添加工具提示
- 17. 在運行時更改Lightswitch網格列標題標題
- 18. MultiColumn標題與數據源Kendo網格
- 19. 動態數據網格標題
- 20. 動態數據網格標題文本
- 21. xtable在頂部添加一個標題並在表格下添加標題
- 22. 添加標題
- 23. WPF數據網格 - 列標題未與數據行對齊
- 24. Kendo網格標題或標題
- 25. 在flex數據網格的列標題中添加按鈕\圖標的功能嗎?
- 26. 將圖像添加到MVC 3 Web網格列標題
- 27. 角ui網格添加img鏈接到列標題
- 28. 動態設置智能gwt列表網格標題
- 29. 變化的DevExpress網格控制列標題標題
- 30. 如何添加標題並添加列?
您是否看到過[showcase](http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwCustomDataGrid)示例?:) –
是的,我已經看到它了。但這部分代碼不適用於我: buildHeader(tr,firstNameHeader,firstNameColumn,sortedColumn,isSortAscending,false,false);構建頭部(tr,lastNameHeader,lastNameColumn,sortedColumn,isSortAscending,false,false); buildHeader(tr,ageHeader,ageColumn,sortedColumn,isSortAscending,false,false); buildHeader(tr,categoryHeader,categoryColumn,sortedColumn,isSortAscending,false,false);構建頭部(tr,addressHeader,addressColumn,sortedColumn,isSortAscending,false,true); buildHeader不應該有任何參數 – Obtice