GXT3 - 网格:添加一个带有按钮的列来修改可编辑网格中的行
在示例中,当选择线条时,线条可自动编辑。 http://www.sencha.com/examples/#Exam...oweditablegrid
我希望在单击弹出窗口中显示的编辑按钮时更改行。
TextButtonCell button = new TextButtonCell();
button.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
Context c = event.getContext();
Info.display("Event", "Call the popup here.");
}
});
nameColumn.setCell(button);
有办法吗?
提前感谢您的帮助。
答案 0 :(得分:0)
首先,您可以创建一个可能已创建TextBoxCell
的列。
然后,您必须禁用网格的默认onclick
可编辑行为。
根据Sencha示例的文件RowEditingGridExample.java
,您可以覆盖onClick
事件并阻止触发默认代码。
public class RowEditingGridExample extends AbstractGridEditingExample {
@Override
protected GridEditing<Plant> createGridEditing(Grid<Plant> editableGrid) {
return new GridRowEditing<Plant>(editableGrid){
@Override
protected void onClick(ClickEvent event) {
}
};
}
}
当您单击textBoxCell单击处理程序时,您可以手动开始编辑。
TextButtonCell button = new TextButtonCell();
button.addSelectHandler(new SelectHandler() {
@Override
public void onSelect(SelectEvent event) {
Context c = event.getContext();
//Here you can pass a new GridCell like with proper cell index and row index.
GridCell cell = new GridCell(getRowIndex(), getCellIndex());
editing.startEditng(cell);
}
});
nameColumn.setCell(button);
如果要在单独的弹出窗口中显示行编辑器,则必须手动设计它。