使检票口数据表的整行可点击

Posted

技术标签:

【中文标题】使检票口数据表的整行可点击【英文标题】:making entire row of a wicket datatable clickable 【发布时间】:2012-06-03 12:15:52 【问题描述】:

是否可以让 Wicket DataTable 的整行都可点击?如果是这样,怎么办? 我已经看到了如何通过扩展 PropertyColumn 类来使单元格可点击的示例,这相当简单,但无法为整行找到简单的解决方案。

【问题讨论】:

我认为没有比使用您自己的 PropertyColumn 实现更简单的解决方案了。您可以查看DataTable 类中的newRowItemDataGridView 中的重写方法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

如何在 SwiftUI List 中制作整行可触摸区域?

使 HTML 行可点击,然后显示来自数据库的行用户配置文件,用于使用 while 循环创建的表

使 HTML 表格中的整行和列可拖放?

如何在 Visual Studio 中从数据库中获取数据(使用 C#)时使 HTML 行可点击