我根据以下给出的解决方案在控制器类中定义了粘贴方法:How to copy/paste table cells in a TableView。一切都进行得很好,除了一个细节:粘贴数据的某些单元格中的事件应该触发但不应该触发。
例如:
public class MyController {
private TableColumn<MyBean, String> valueColumn;
...
valueColumn.setOnEditCommit(e -> doSomeStuff(e));
private void doSomeStuff(CellEditEvent<MyBean, String> event) {
...
}
在此示例中,用户单击ENTER之后,将调用doSomeStuff方法,这是预期的行为。
我实现的粘贴方法的问题在于它不影响单元格,仅影响其内容(其ObservableValue)。这当然意味着在粘贴数据之后,不会触发任何事件。
我的问题:有没有一种方法可以触发相同的事件,或者有类似的方法可以在粘贴数据后调用doSomeStuff方法?
答案 0 :(得分:0)
Table View无法正常工作。如果要具有完全可自定义的结构,请使用网格窗格。创建一个很难,但是在使它看起来像表格之后,您还有更多可自定义的选项。 我这样做是我最近的一个项目,需要在单元格中插入表格。使用网格窗格和文本字段要容易得多。