JavaFX 中表视图的 colspan 和 rowspan
colspan and rowspan for tableview in JavaFX
我无法在 Web 上找到任何显示如何为 JavaFX
TableView
制作分层 headers 的示例,因此,我没有提供任何代码。我只会 post 我想要实现的目标的图像。这是:
很多应用程序都非常需要这样的 table 网格。不幸的是,我找不到 JavaFX
的任何示例。提前感谢您的帮助!
您似乎在寻找 nested columns。
您可以将 sub-columns 添加到主列以获得分层 headers。
这是一个小例子:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class NestedColumns extends Application
{
@Override
public void start(Stage primaryStage) throws Exception
{
TableView<String> tableView = new TableView<String>();
TableColumn<String, String> nameColumn = new TableColumn<>("Name");
TableColumn<String, String> firstNameColumn = new TableColumn<>("First name");
TableColumn<String, String> lastNameColumn = new TableColumn<>("Last name");
nameColumn.getColumns().addAll(firstNameColumn, lastNameColumn);
tableView.getColumns().add(nameColumn);
Scene scene = new Scene(tableView);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
我无法在 Web 上找到任何显示如何为 JavaFX
TableView
制作分层 headers 的示例,因此,我没有提供任何代码。我只会 post 我想要实现的目标的图像。这是:
很多应用程序都非常需要这样的 table 网格。不幸的是,我找不到 JavaFX
的任何示例。提前感谢您的帮助!
您似乎在寻找 nested columns。
您可以将 sub-columns 添加到主列以获得分层 headers。 这是一个小例子:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class NestedColumns extends Application
{
@Override
public void start(Stage primaryStage) throws Exception
{
TableView<String> tableView = new TableView<String>();
TableColumn<String, String> nameColumn = new TableColumn<>("Name");
TableColumn<String, String> firstNameColumn = new TableColumn<>("First name");
TableColumn<String, String> lastNameColumn = new TableColumn<>("Last name");
nameColumn.getColumns().addAll(firstNameColumn, lastNameColumn);
tableView.getColumns().add(nameColumn);
Scene scene = new Scene(tableView);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}