2012-01-31 34 views
3

我使用Dojo EnhancedGrid,并在另一个单元被在同一行编辑,我点击到新的小区,只会出现此问题:如何获得给定行和列索引的Dojo Grid单元的实际DOM节点?

在这两个onRowClick(e)和onCellClick(E)事件下在这种情况下,传入单元格的DOM节点似乎不是网格中单元格的“真实”DOM节点 - 它似乎是某种克隆。我知道这是因为:

  1. e.cellNode.getBoundingClientRect()返回所有0(不正确)。

  2. 通过dojo.query(...)手动获取DOM节点通过试错给了我一个 节点谁是node.getBoundingRect()调用返回正确的屏幕 矩形它。

所以,我需要得到“正确”的DOM节点,所以我可以在上面放一个提示对话框,没有它被放置在屏幕的左上角由于不正确getBoundingClientRect()的结果。这并不容易,因为单元格DOM元素的列索引具有idx = XXX属性,但单元格和行DOM元素都不具有rowIndex。所以,我找不到一种方法来验证我从Dojo.query()获得的特定单元DOM节点是否是我想要的rowIndex/colIndex的实际单元格。

有没有人有解决方法?基本上如何在grid.onCellClick()中给出rowIndex和colIndex这个情况下的真正DOM节点?同样,由于网格中的错误,e.cellNode在这种情况下不起作用。

回答

0

这是我使用的是什么,如果你确信,当你调用此事件,您domNodes更新:

var rowNode = dojo.query(e.target).closest(".dojoxGridRow")[0]; 
相关问题