在YUI数据表中最后一次单击的行上调用click事件 [英] Call click event on last clicked row in YUI datatable

查看:86
本文介绍了在YUI数据表中最后一次单击的行上调用click事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个YUI数据表,我有一个函数,当我点击一行时调用:

I have a YUI datatable and I have a function which is invoked when I click on a row:

...
YAHOO.keycoes.myDatatable = myDatatable;
...
myDatatable.subscribe("rowClickEvent", oneventclickrow);
var oneventclickrow = function( args ) {
    ...
}

我想调用当前在数据表中突出显示的行上订阅了rowClickEvent的函数(最后一次点击的行)。

I'd like to invoke the function subscribed to rowClickEvent on the row which is currently highlighted in the datatable (the row which was clicked for the last time).

我试过这样的事情:

YAHOO.keycoes.myDatatable.getSelectedRows()[0].rowClickEvent()

但getSelectedRows()不返回任何行。如何获取数据表中突出显示的行,然后调用与rowClickEvent关联的函数?

but getSelectedRows() doesn't return any row. How can I get the highlighted row in the datatable and then call the function associated with rowClickEvent?

谢谢

推荐答案

当我显示YUI数据表功能时,这里是一个功能强大的应用程序。查看其源代码为了更好地了解我如何使用YUI数据表。

Here goes a powerful application when i show YUI datatable funcionality. See its source code To get a good insight how i use YUI datatable.

我使用了一个帮手,如

var datatableUtils = {
    getSelected:function(datatable) {
        var records = datatable.getRecordSet().getRecords();

        for(var i = 0; i < records.length; i++) {
            if(datatable.isSelected(records[i])) {
                return records[i];
            }
        }

        return null;
    },
    removeAll:function(datatable) {
        var records = datatable.getRecordSet().getRecords();

        for(var i = (records.length - 1); i >= 0; i--) {
            datatable.deleteRow(records[i]);
        }
    },
    removeSelected:function(datatable) {
        datatable.deleteRow(datatableUtils.getSelected(datatable));
    },
    selectAll:function(datatable) {
        var records = datatable.getRecordSet().getRecords();

        for(var i = 0; i < records.length; i++) {
            datatable.selectRow(records[i]);
        }
    }
};

当我想订阅某个活动时,我会按照以下步骤进行操作

And when i want to subscribe some event, i do as follows

datatable.user.subscribe("rowClickEvent", function(args) {
  /**
    * Keep in mind this keyword refers To YUI datatable instance 
    *
    * args.target allows yui get row clicked
    */

     if(this.isSelected(args.target)) {
         alert("row selected");
     }
}

我希望它可能很有用

这篇关于在YUI数据表中最后一次单击的行上调用click事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆