Quero alinhar as colunas do datagridview à direita, mas não quero alterar a largura da coluna do meu datagridview que defini. Eu tenho oito colunas, a propriedade "resizable" da segunda coluna está definida como true, o resto é "resizable =" false. Quando eu expando o datagridview ou a janela, a largura das colunas, exceto a segunda, não deve expandir. Como fazer isso. O preenchimento de propriedade não funciona como eu quero. Expando todas as colunas e atribuo a elas sua própria largura. Mas quero deixar a largura das minhas colunas porque elas já estão definidas, exceto a segunda.
Início
/
user-23350128
Marian34's questions
Marian34
Asked:
2024-02-23 06:40:12 +0800 CST
Quero fazer com que minha coluna Togglebutons funcione corretamente dentro do meu TableView. Quando pressiono o botão de alternância, nada acontece. Como consertar isso? Não mudei nada no meu modelo "Medicaments.java". Parece que você vê abaixo:
@FXML
private TableColumn<Medicaments, Void> editRow;
Meu modelo:
public Medicaments(int idNumber, String LOTNumber, String medName, String dateExpiry, int quantity, String unit,String timeLeft) {
this.idNumber = idNumber;
this.LOTNumber = LOTNumber;
this.medName = medName;
this.dateExpiry = dateExpiry;
this.quantity = quantity;
this.unit = unit;
this.timeLeft = timeLeft;
}
Coluna do botão de alternância:
private void AddEditButton() {
TableColumn<Medicaments, Void> colBtn = new TableColumn("");
Callback<TableColumn<Medicaments, Void>, TableCell<Medicaments, Void>> cellFactory = new
Callback<TableColumn<Medicaments, Void>, TableCell<Medicaments, Void>>() {
@Override
public TableCell<Medicaments, Void> call(final TableColumn<Medicaments, Void> param)
{
final TableCell<Medicaments, Void> cell = new TableCell<Medicaments, Void>() {
private final ToggleButton toggleButton = new ToggleButton("Edit");
{
/**/
toggleButton.addEventFilter(MouseEvent.MOUSE_PRESSED, event -> {
event.consume();
toggleButton.selectedProperty().addListener((observable,oldValue,
newValue) -> {
if(newValue){
toggleButton.setText("Save");
} else {
toggleButton.setText("Edit");
}
});
});
/*btn.addEventFilter(MouseEvent.MOUSE_PRESSED, event ->{
event.consume();
Medicaments data = getTableView().getItems().get(getIndex());
System.out.println("selectedData: " + data);
});*/
}
@Override
public void updateItem(Void item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setGraphic(null);
} else {
setGraphic(toggleButton);
}
}
};
return cell;
}
};
editRow.setCellFactory(cellFactory);
}