Ich muss eine Nat-Tabelle mit drei Spalten erstellen und Wert in der Spalte hinzufügen.Klicken Sie mir bitte. danke im vorauswie man eine Tabelle mit Nattable erstellt und einen Wert in seine Spalte einfügt
-2
A
Antwort
0
hoffe das hilft. Für die Details der Schicht können Sie die http://www.vogella.com/tutorials/NatTable/article.html Verbindung verweisen, die ziemlich passend ist.
import org.eclipse.nebula.widgets.nattable.NatTable;
import org.eclipse.nebula.widgets.nattable.config.AbstractRegistryConfiguration;
import org.eclipse.nebula.widgets.nattable.config.CellConfigAttributes;
import org.eclipse.nebula.widgets.nattable.config.ConfigRegistry;
import org.eclipse.nebula.widgets.nattable.config.DefaultNatTableStyleConfiguration;
import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
import org.eclipse.nebula.widgets.nattable.data.IDataProvider;
import org.eclipse.nebula.widgets.nattable.grid.data.DefaultColumnHeaderDataProvider;
import org.eclipse.nebula.widgets.nattable.grid.data.DefaultCornerDataProvider;
import org.eclipse.nebula.widgets.nattable.grid.data.DefaultRowHeaderDataProvider;
import org.eclipse.nebula.widgets.nattable.grid.data.DummyBodyDataProvider;
import org.eclipse.nebula.widgets.nattable.grid.layer.ColumnHeaderLayer;
import org.eclipse.nebula.widgets.nattable.grid.layer.CornerLayer;
import org.eclipse.nebula.widgets.nattable.grid.layer.GridLayer;
import org.eclipse.nebula.widgets.nattable.grid.layer.RowHeaderLayer;
import org.eclipse.nebula.widgets.nattable.hideshow.ColumnHideShowLayer;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayerTransform;
import org.eclipse.nebula.widgets.nattable.layer.DataLayer;
import org.eclipse.nebula.widgets.nattable.layer.LabelStack;
import org.eclipse.nebula.widgets.nattable.layer.cell.IConfigLabelAccumulator;
import org.eclipse.nebula.widgets.nattable.reorder.ColumnReorderLayer;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer;
import org.eclipse.nebula.widgets.nattable.style.CellStyleAttributes;
import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
import org.eclipse.nebula.widgets.nattable.style.Style;
import org.eclipse.nebula.widgets.nattable.util.GUIHelper;
import org.eclipse.nebula.widgets.nattable.viewport.ViewportLayer;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class Nat_explore {
private BodyLayerStack bodyLayer ;
private int statusColumn;
private int statusRejected;
private int statusInProgress;
private boolean check = false;
private NatTable nattable;
private String[] properties;
private static final String FOO_LABEL = "FOO";
private static final String CELL_LABEL = "Cell_LABEL";
public static void main(String[] args) {
new Nat_explore();
}
public Nat_explore() {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
properties = new String[3];
for(int i=0;i<properties.length;i++){
properties[i]="Column"+i;
}
//Setting the data layout layer
GridData gridData = new GridData();
gridData.heightHint = (int) 24;
gridData.widthHint = (int) 110;
IConfigRegistry configRegistry = new ConfigRegistry();
//Body Data Provider
IDataProvider dataProvider = new DataProvider(properties.length,55);
bodyLayer= new BodyLayerStack(dataProvider);
//datalayer.addConfiguration(new
//Column Data Provider
DefaultColumnHeaderDataProvider columnData = new DefaultColumnHeaderDataProvider(properties);
ColumnHeaderLayerStack columnlayer = new ColumnHeaderLayerStack(columnData);
//Row Data Provider
DefaultRowHeaderDataProvider rowdata = new DefaultRowHeaderDataProvider(dataProvider);
RowHeaderLayerStack rowlayer = new RowHeaderLayerStack(rowdata);
//Corner Data Provider
DefaultCornerDataProvider cornerdata = new DefaultCornerDataProvider(columnData, rowdata);
DataLayer cornerDataLayer = new DataLayer(cornerdata);
CornerLayer cornerLayer = new CornerLayer(cornerDataLayer, rowlayer, columnlayer);
GridLayer gridlayer = new GridLayer(bodyLayer, columnlayer, rowlayer, cornerLayer);
nattable = new NatTable(shell, gridlayer,false);
// Change for paint
IConfigLabelAccumulator cellLabelAccumulator = new IConfigLabelAccumulator() {
//@Override
public void accumulateConfigLabels(LabelStack configLabels,int columnPosition, int rowPosition) {
int columnIndex = bodyLayer.getColumnIndexByPosition(columnPosition);
int rowIndex = bodyLayer.getRowIndexByPosition(rowPosition);
if (columnIndex == 2 && rowIndex == 45) {
configLabels.addLabel(FOO_LABEL);
}
else if ((columnIndex == statusColumn) && (rowIndex == statusRejected) && (check ==true)) {
configLabels.addLabel(CELL_LABEL);
}
}
};
bodyLayer.setConfigLabelAccumulator(cellLabelAccumulator);
nattable.addConfiguration(new DefaultNatTableStyleConfiguration());
nattable.addConfiguration(new AbstractRegistryConfiguration() {
//@Override
public void configureRegistry(IConfigRegistry configRegistry) {
Style cellStyle = new Style();
cellStyle.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR,GUIHelper.COLOR_YELLOW);
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_STYLE, cellStyle,DisplayMode.NORMAL, FOO_LABEL);
cellStyle = new Style();
cellStyle.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR,GUIHelper.COLOR_RED);
configRegistry.registerConfigAttribute(CellConfigAttributes.CELL_STYLE, cellStyle,DisplayMode.NORMAL, CELL_LABEL);
}
});
nattable.setLayoutData(gridData);
nattable.setConfigRegistry(configRegistry);
nattable.configure();
shell.open();
while (!shell.isDisposed()) {
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
public class DataProvider extends DummyBodyDataProvider{
public DataProvider(int columnCount, int rowCount) {
super(columnCount, rowCount);
}
@Override
public int getColumnCount() {
return properties.length;
}
@Override
public Object getDataValue(int columnIndex, int rowIndex) {
return new String("Column"+columnIndex+" Row"+rowIndex);
}
@Override
public int getRowCount() {
return 55;
}
@Override
public void setDataValue(int arg0, int arg1, Object arg2) {
}
}
public class BodyLayerStack extends AbstractLayerTransform {
private SelectionLayer selectionLayer;
public BodyLayerStack(IDataProvider dataProvider) {
DataLayer bodyDataLayer = new DataLayer(dataProvider);
ColumnReorderLayer columnReorderLayer = new ColumnReorderLayer(bodyDataLayer);
ColumnHideShowLayer columnHideShowLayer = new ColumnHideShowLayer(columnReorderLayer);
this.selectionLayer = new SelectionLayer(columnHideShowLayer);
ViewportLayer viewportLayer = new ViewportLayer(this.selectionLayer);
setUnderlyingLayer(viewportLayer);
}
public SelectionLayer getSelectionLayer() {
return this.selectionLayer;
}
}
public class ColumnHeaderLayerStack extends AbstractLayerTransform {
public ColumnHeaderLayerStack(IDataProvider dataProvider) {
DataLayer dataLayer = new DataLayer(dataProvider);
ColumnHeaderLayer colHeaderLayer = new ColumnHeaderLayer(dataLayer,Nat_explore.this.bodyLayer, Nat_explore.this.bodyLayer.getSelectionLayer());
setUnderlyingLayer(colHeaderLayer);
}
}
public class RowHeaderLayerStack extends AbstractLayerTransform {
public RowHeaderLayerStack(IDataProvider dataProvider) {
DataLayer dataLayer = new DataLayer(dataProvider, 50, 20);
RowHeaderLayer rowHeaderLayer = new RowHeaderLayer(dataLayer,Nat_explore.this.bodyLayer, Nat_explore.this.bodyLayer.getSelectionLayer());setUnderlyingLayer(rowHeaderLayer);
}
}
}
+0
danke für Hilfe ..... :) – Rahul
+0
Wenn dies Ihre Frage gelöst hat, können wir die Frage zu schließen. –
Verwandte Themen
- 1. Wie man eine Spalte in eine Tabelle in Pandas einfügt
- 2. Wie man in eine Tabelle einfügt
- 3. Wie man Datenbanktabelle mit web2py erstellt, einfügt und aktualisiert?
- 4. Wie man eine Spalte in eine Tabelle einfügt, mit Tabellengröße zum Browserfenster
- 5. Wie man dynamische Tabelle Wert in Datenbank in PHP einfügt?
- 6. Wie erstellt man eine Tabelle aus einer anderen Tabelle mit NULL-Werten an eine Spalte?
- 7. Wie fügt man in eine Tabelle ein, die für jede Spalte einen DEFAULT-Wert angibt?
- 8. Wie man aus einem CTE in eine Tabelle einfügt
- 9. Wie man einen Wert in das Kendo-Kombinationsfeld einfügt
- 10. In sqlite3, wie man "0" in eine Spalte einfügt, wenn kein Wert gefunden wird?
- 11. Wie man einen Bereich von Schlüsseln in eine andere Spalte einfügt
- 12. Wie man einen Wert aus der Tabelle der JSP-Seite in die Datenbank einfügt
- 13. R_ Wie man eine Variable in einen Namen einfügt
- 14. Wie man einen Eintrag in eine Karte einfügt?
- 15. Wie erstellt man eine True/False Tabelle mit zwei Spalten?
- 16. Wie man einen versteckten Wert in eine andere Spalte der Tabelle Einsatz mit HTML-Formular
- 17. Wie erstellt man eine Tabelle mit Merger und Größenänderung?
- 18. Wie erstellt man eine Funktion, die einen Wert aus einer Tabelle berechnet und abruft?
- 19. Wie erstellt man einen Spaltenfilter für (Schlüssel, Wert) für jede Spalte mit ng-repeat in AngularJS?
- 20. Wie man Wert in Datenbanktabelle einfügt und aktualisiert php
- 21. Wie man einen Zeilenumbruch in createTextNode einfügt
- 22. angularjs - wie man eine App in einen iframe einfügt
- 23. Wie man eine TStringList in eine TObjectList einfügt und abruft
- 24. PostgreSQL - Wie erstellt man eine "Dimension" -Tabelle aus einer 'Select distinct' -Abfrage und erstellt einen Primär- und einen Fremdschlüssel?
- 25. Wie man SQL-Spalten aus 2 Tabellen multipliziert und in eine separate Spalte einfügt?
- 26. Wie erstellt man einen booleschen Wert?
- 27. Wie erstellt man eine virtuelle Spalte mit MySQL SELECT?
- 28. Wie man Daten von SQL-Tabelle abruft und sie in eine andere Tabelle einfügt
- 29. Wie man mehrere Zeilen in ein Label einfügt und seine Startposition mit Tkinter definiert?
- 30. Wie erstellt man einen Schlüsselraum und eine Tabelle in Cassandra mit R?
Lesen Sie die Dokumentation und Tutorials wir http://www.vogella.com/tutorials/NatTable/article.html erstellt –
ich diesen Artikel zu lesen, aber ich eine klare Vorstellung über nat nicht bekommen table.Will du mir bitte ein Beispiel zeigen, durch das ich leicht verstehen kann – Rahul
Ich frage mich, ob Sie wirklich den Artikel lesen. Es zeigt die NatTable-Beispielanwendung, die mehrere Beispiele zum Verständnis enthält. Und der Artikel selbst enthält mehrere Tutorials zum besseren Verständnis. Wenn all diese Informationen nicht helfen, ein besseres Verständnis zu bekommen, versuchen Sie entweder etwas Beratung oder Training zu kaufen oder verwenden Sie ein anderes Widget. –