使检票口数据表的整行可点击
Posted
技术标签:
【中文标题】使检票口数据表的整行可点击【英文标题】:making entire row of a wicket datatable clickable 【发布时间】:2012-06-03 12:15:52 【问题描述】:是否可以让 Wicket DataTable 的整行都可点击?如果是这样,怎么办? 我已经看到了如何通过扩展 PropertyColumn 类来使单元格可点击的示例,这相当简单,但无法为整行找到简单的解决方案。
【问题讨论】:
我认为没有比使用您自己的PropertyColumn
实现更简单的解决方案了。您可以查看DataTable
类中的newRowItem
和DataGridView
中的重写方法newRowItem
。
【参考方案1】:
这样就可以了。
//override this method of the DataTable class
@Override
protected Item<T> newRowItem(String id, int index, final IModel<T> model)
Item<T> rowItem = new Item<T>(id, index, model);
rowItem.add(new AjaxEventBehavior("onclick")
private static final long serialVersionUID = 6720512493017210281L;
@Override
protected void onEvent(AjaxRequestTarget target)
//callback or do some stuff
);
return rowItem;
【讨论】:
非常有帮助的答案。此外,重写此方法允许我设置每一行的标记 ID,这对我来说非常有用,因为我必须触发一个 jQuery 事件来突出显示触发 DataTable 刷新的新插入的行。 怎么知道onEvent方法中点击了什么对象? 由模型,内部检票口有一个行和对象之间的关系的轨道 有什么方法可以在单击行时返回文档?当我尝试返回 ResourceStreamRequestHandler 时出现 Ajax 错误(其中包含我在单击该行时即时生成的 PDF)。 @Johncl 我想是的,我会尝试制作自己的 ajaxbehaivor,但是大约有一年我没有在检票口编程:(以上是关于使检票口数据表的整行可点击的主要内容,如果未能解决你的问题,请参考以下文章
如何使表格行可点击并展开行 - vue.js - element-ui