在Ext JS中获取GridPanel的HTML

时间:2011-03-03 14:29:19

标签: extjs javascript

我有一个完全准备好并正常工作的GridPanel。它目前通过调用render(id)的{​​{1}}方法呈现给DOM。

这导致GridPanel在具有给定id的html元素之前呈现。

对于我的API中的编程,我现在需要在我的JavaScript中使用表格的呈现HTML将其传递给另一个函数,该函数只能作用于HTML代码,并且出于兼容性原因我无法更改它。因此渲染函数不会返回任何内容,我不知道如何获取html或至少引用JavaScript中呈现的HTML的DOM节点。

有什么建议吗?

4 个答案:

答案 0 :(得分:1)

您可以通过执行以下操作获取网格主体的DOM节点的HTML:

gridObject.body.dom.innerHTML

但它不是一张桌子...它的标记风格看起来像一张桌子......

在HTML中获取网格数据的最佳方法是向网格添加一种方法,将其数据呈现​​为模板。

http://dev.sencha.com/deploy/dev/docs/?class=Ext.XTemplate

答案 1 :(得分:1)

创建一个dom元素,比方说d。 然后做: Ext.fly(d).replaceWith(yourGrid.getEl())

这应该用网格的内容替换你创建的dom元素的内容。这也保留了所有状态,因为ext组件仍在那里。

答案 2 :(得分:0)

我不认为你实际上可以是HTML的“字符串”并将其传递给函数。但是您应该能够通过getElementById来获取对document元素的引用,因为您将知道元素id(将其传递给GridPanel的配置)。您只需参考顶级元素。

你见过ExtJS生成的那种HTML吗?如果你使用GridPanel对象,它们就更简单了。

答案 3 :(得分:0)

在元素存在并且添加到DOM 之前,无法呈现表格,其中应该呈现网格。我认为这真的不灵活。但是我被迫在项目中使用它,所以我必须在渲染之前将API改为为EXT网格生成一些入口点 - DIV