优化YUI数据表中多行的删除

时间:2008-12-05 18:58:02

标签: javascript yui yui-datatable

删除操作似乎是YUI数据表中最慢的。我有一个带>的数据表300行。我需要删除选定的行。我尝试从recordset删除所选记录,然后调用table.render() ..虽然这没关系,但它可以做得更好吗?

3 个答案:

答案 0 :(得分:2)

查看数据表窗口小部件的“deleteRow”方法的API文档(位于http://developer.yahoo.com/yui/docs/YAHOO.widget.DataTable.html#method_deleteRow)。这对我来说就像这就是你想要的。也许是这样的事情:

var selected = theDataTable.getSelectedRows();
var rset = theDataTable.getRecordSet();

for (var x = 0; x < selected.length; x++) {
    theDataTable.deleteRow(rset.getRecordIndex(rset.getRecord(selected[x]))
}

答案 1 :(得分:1)

没有。这比我写的慢。 在这里,您逐行删除,每次都必须重新渲染数据表。

我所做的是从记录集中删除这些记录,然后渲染一次数据。 多一点,但不是很多。

答案 2 :(得分:0)

据我所知,这是从yui数据表中删除行的最快方法。但是,为了您的用户,除非需要300行,否则您应该考虑在版本2.6.0中改进的分页(并且已经拆分,现在可以在其他对象上使用,而不仅仅是DataTable)。