gpt4 book ai didi

控件单击时的 JAVA GWT 单元格表操作

转载 作者:行者123 更新时间:2023-12-01 11:22:21 24 4
gpt4 key购买 nike

我有一个单元格表,其中包含 7 列和 23 行复选框。我需要以某种方式添加一个处理程序,以便当按住 Control 键并单击单元格时,如果选中或未选中其框,则列中的所有单元格都会切换。我看过一些类似的帖子,但没有描述如何处理 control+click。 (例如:Adding clickHandler to row in CellTable in GWT?)。此方法的问题是它使用的 BrowserEvents 类没有与 CTRL 匹配的内容。下面列出了我的单元格表的一些相关代码:

cellTable = new CellTable<TaskSchedule>();
TextColumn<TaskSchedule> taskNameColumn = new TextColumn<TaskSchedule>() {
@Override
public void render(Cell.Context context,
TaskSchedule object,
SafeHtmlBuilder sb) {
String taskName = getValue(object);


@Override
public String getValue(TaskSchedule object) {
return object.getTaskKey();
}
};
cellTable.addColumn(taskNameColumn, "Task Name");
cellTable.addColumn(createCheckBoxColumn(0), "Monday");
cellTable.addColumn(createCheckBoxColumn(1), "Tuesday");
cellTable.addColumn(createCheckBoxColumn(2), "Wednesday");
cellTable.addColumn(createCheckBoxColumn(3), "Thursday");
cellTable.addColumn(createCheckBoxColumn(4), "Friday");
cellTable.addColumn(createCheckBoxColumn(5), "Saturday");
cellTable.addColumn(createCheckBoxColumn(6), "Sunday");

cellTable.setColumnWidth(cellTable.getColumn(0), 36, Style.Unit.PCT);
cellTable.setColumnWidth(cellTable.getColumn(1), 9, Style.Unit.PCT);
cellTable.setColumnWidth(cellTable.getColumn(2), 9, Style.Unit.PCT);
cellTable.setColumnWidth(cellTable.getColumn(3), 9, Style.Unit.PCT);
cellTable.setColumnWidth(cellTable.getColumn(4), 9, Style.Unit.PCT);
cellTable.setColumnWidth(cellTable.getColumn(5), 9, Style.Unit.PCT);
cellTable.setColumnWidth(cellTable.getColumn(6), 9, Style.Unit.PCT);
cellTable.setColumnWidth(cellTable.getColumn(7), 9, Style.Unit.PCT);


cellTable.setRowData(taskSchedules);

最佳答案

你可以使用这个:

table.addCellPreviewHandler(new Handler<MyObject>() {
@Override
public void onCellPreview(CellPreviewEvent<MyObject> event) {
if ("click".equals(event.getNativeEvent().getType())) {
if (event.getNativeEvent().getCtrlKey()) {
// CTRL button was pressed during the click
}
}
}
});

关于控件单击时的 JAVA GWT 单元格表操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31080114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com