@Override protected void configureTable() { ListGridField idField = new ListGridField(FIELD_ID, MSG.common_title_id()); ListGridField versionField = new ListGridField(BundleVersionDataSource.FIELD_VERSION, MSG.common_title_version()); versionField.setCellFormatter( new CellFormatter() { public String format(Object o, ListGridRecord listGridRecord, int i, int i1) { Integer _bundleId = listGridRecord.getAttributeAsInt("bundleId"); Integer _bvId = listGridRecord.getAttributeAsInt("id"); return "<a href=\"" + LinkManager.getBundleVersionLink(_bundleId, _bvId) + "\">" + o + "</a>"; } }); ListGridField nameField = new ListGridField(BundleVersionDataSource.FIELD_NAME, MSG.common_title_name()); ListGridField descriptionField = new ListGridField( BundleVersionDataSource.FIELD_DESCRIPTION, MSG.common_title_description()); ListGridField fileCountField = new ListGridField(BundleVersionDataSource.FIELD_FILECOUNT, MSG.view_bundle_bundleFiles()); idField.setWidth(50); versionField.setWidth("20%"); nameField.setWidth("25%"); descriptionField.setWidth("*"); fileCountField.setWidth("10%"); setListGridFields(idField, versionField, nameField, descriptionField, fileCountField); setListGridDoubleClickHandler( new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { ListGrid listGrid = (ListGrid) event.getSource(); ListGridRecord[] selectedRows = listGrid.getSelectedRecords(); if (selectedRows != null && selectedRows.length == 1) { String selectedId = selectedRows[0].getAttribute(BundleVersionDataSource.FIELD_BUNDLE_ID); String selectedVersionId = selectedRows[0].getAttribute(BundleVersionDataSource.FIELD_ID); CoreGUI.goToView( LinkManager.getBundleVersionLink( Integer.valueOf(selectedId), Integer.valueOf(selectedVersionId))); } } }); }
@Override protected List<DataSourceField> addDataSourceFields() { List<DataSourceField> fields = super.addDataSourceFields(); DataSourceField idDataField = new DataSourceTextField("id", MSG.common_title_id()); idDataField.setPrimaryKey(true); fields.add(idDataField); DataSourceTextField nameDataField = new DataSourceTextField("name", MSG.common_title_name()); nameDataField.setCanEdit(false); fields.add(nameDataField); DataSourceTextField parentIdField = new DataSourceTextField("parentId", MSG.dataSource_ContentRepoTree_field_parentId()); parentIdField.setForeignKey("id"); fields.add(parentIdField); return fields; }