簡體   English   中英

在 YUI 數據表中最后點擊的行上調用點擊事件

[英]Call click event on last clicked row in YUI datatable

我有一個 YUI 數據表,並且有一個函數,當我單擊一行時會調用該函數:

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

我想在數據表中當前突出顯示的行(最后一次單擊的行)上調用訂閱rowClickEvent的函數。

我試圖做這樣的事情:

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

getSelectedRows()不返回任何行。 如何獲取數據表中突出顯示的行,然后調用與rowClickEvent關聯的函數?

當我顯示 YUI 數據表功能時,是一個強大的應用程序。 查看它的源代碼以更好地了解我如何使用 YUI 數據表。

我使用像這樣的幫手

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]);
        }
    }
};

當我想訂閱某個事件時,我會執行以下操作

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");
     }
}

我希望它有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM