Ga naar hoofdinhoud

Columns

Open in ChatGPT
24.00
Java API

De Table-klasse maakt gebruik van Column-klassen om de creatie van datacolumns binnenin te beheren. Deze klasse heeft een breed scala aan functionaliteit waarmee een gebruiker kan aanpassen wat er binnen elke van de kolommen wordt weergegeven.
Om een Column aan een Table toe te voegen, gebruik een van de addColumn-fabriekmethoden.

Waarde leveranciers

Een waarde leverancier is een functie die verantwoordelijk is voor het vertalen van ruwe gegevens uit de onderliggende dataset naar een formaat dat geschikt is voor weergave binnen een specifieke kolom. De functie, gedefinieerd door de gebruiker, neemt een instantie van het rijgegevenstype (T) en retourneert de waarde die in de bijbehorende kolom voor die specifieke rij moet worden weergegeven.

Om een waarde leverancier op een kolom in te stellen, gebruik een van de addColumn-fabriekmethoden die een leverancier als argument accepteren:

    List<String> columnsList = Arrays.asList("athlete", "age", "country", "year", "sport", "gold", "silver", "bronze", "total");

for (String column : columnsList) {
table.addColumn(column, (JsonObject person) -> {
JsonElement element = person.get(column);
if (!element.isJsonNull()) {
return element.getAsString();
}
return "";
});
}

In dit voorbeeld zal een kolom proberen gegevens uit een JSON-object te verkrijgen en deze alleen weergeven als de gegevens niet null zijn.

Pinrichting

Kolompinnen is een functie die gebruikers toestaat een kolom aan een specifieke zijde van de tabel vast te zetten of "te pinnen", waardoor de zichtbaarheid en toegankelijkheid wordt verbeterd. Dit is nuttig wanneer bepaalde kolommen, zoals identificatoren of essentiële informatie, zichtbaar moeten blijven terwijl er horizontaal door een tabel wordt gescrold.

Toon code

Er zijn drie beschikbare richtingen voor het pinnen van een kolom:

  • PinDirection.LEFT: Zet de kolom aan de linkerkant vast.
  • PinDirection.RIGHT: Zet de kolom aan de rechterkant vast.
  • PinDirection.AUTO: Kolom verschijnt op basis van de invoegvolgorde.

Pinnen kan programmatic worden ingesteld, zodat gebruikers de pinrichting kunnen wijzigen op basis van gebruikersinteracties of applicatielogica.

Uitlijning

Kolomuitleg bepaalt de horizontale positionering van gegevens binnen een kolom. Het beïnvloedt hoe datavelden worden weergegeven en biedt een visuele gids aan gebruikers over de aard van de informatie.

Toon code

De Table-component ondersteunt drie primaire uitlijningsopties:

  • Column.Alignment.LEFT: Geschikt voor tekstuele of beschrijvende gegevens waarbij een linkse stroom intuïtief is. Nuttig bij het benadrukken van het beginpunt van de inhoud.
  • Column.Alignment.CENTER: Ideaal voor numerieke of categorische gegevens waar een evenwichtige presentatie gewenst is. Creëert een visueel gecentreerde weergave.
  • Column.Alignment.RIGHT: Vaak gebruikt voor numerieke gegevens, vooral wanneer de grootorde of precisie van cijfers significant is. Lijnt gegevens naar rechts voor een natuurlijke leesstroom.

In het bovenstaande voorbeeld is de laatste kolom voor Kosten rechts uitgelijnd om een meer duidelijke visuele onderscheid te bieden.

Zichtbaarheid

Het is mogelijk om de zichtbaarheid van een Column in te stellen, waarbij wordt bepaald of deze al dan niet in de tabel wordt weergegeven. Dit kan nuttig zijn om te bepalen of gevoelige informatie al dan niet moet worden weergegeven.

Gebruik de setHidden()-methode, zoals hieronder weergegeven, om deze eigenschap op een Column in te stellen:

table.addColumn("Credit Card", Customer::getCreditCardNumber).setHidden(true);

De navigeerbare attributen bepalen of gebruikers interaction kunnen hebben met een kolom tijdens navigatie. Door setSuppressNavigable() op true in te stellen, wordt de interactie van de gebruiker met de kolom beperkt, waardoor een alleen-lezen ervaring wordt geboden.

table.addColumn("ReadOnly Column", Product::getDescription).setSuppressNavigable(true);

Label

Het label van een kolom is de openbare identifier, die bijdraagt aan de helderheid en het begrip van weergegeven gegevens. Gebruik setLabel om het label dat aan een kolom is gekoppeld in te stellen of te wijzigen.

tip

Standaard zal het label hetzelfde zijn als de kolom-ID

table.addColumn("Product ID", Product::getProductId).setLabel("ID");

Minimale breedte

De setMinWidth()-methode stelt je in staat om de minimale breedte van een kolom te definiëren, waardoor een consistente en esthetisch aantrekkelijke lay-out wordt gegarandeerd.

Als de minimale breedte niet wordt opgegeven, zal de tabel de minimale breedte berekenen op basis van de inhoud van de kolom.

table.addColumn("Prijs", Product::getPrice).setMinWidth(100.0);
informatie

De waarde die wordt doorgegeven, vertegenwoordigt de gewenste minimale breedte in pixels.