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