我有一个YUI数据表,我有一个函数,当我点击一行时调用:
...
YAHOO.keycoes.myDatatable = myDatatable;
...
myDatatable.subscribe("rowClickEvent", oneventclickrow);
var oneventclickrow = function( args ) {
...
}
我想调用在数据表中当前突出显示的行(最后一次单击的行)上订阅了rowClickEvent的函数.
我试过这样的事情:
YAHOO.keycoes.myDatatable.getSelectedRows()[0].rowClickEvent()
但getSelectedRows()不返回任何行.如何获取数据表中突出显示的行,然后调用与rowClickEvent关联的函数?
谢谢
解决方法:
当我显示YUI数据表功能时,Here是一个功能强大的应用程序.查看其源代码为了更好地了解我如何使用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");
}
}
我希望它有用