我有一个完全准备好并正常工作的GridPanel。它目前通过调用render(id)
的{{1}}方法呈现给DOM。
这导致GridPanel在具有给定id的html元素之前呈现。
对于我的API中的编程,我现在需要在我的JavaScript中使用表格的呈现HTML将其传递给另一个函数,该函数只能作用于HTML代码,并且出于兼容性原因我无法更改它。因此渲染函数不会返回任何内容,我不知道如何获取html或至少引用JavaScript中呈现的HTML的DOM节点。
有什么建议吗?
答案 0 :(得分:1)
您可以通过执行以下操作获取网格主体的DOM节点的HTML:
gridObject.body.dom.innerHTML
但它不是一张桌子...它的标记风格看起来像一张桌子......
在HTML中获取网格数据的最佳方法是向网格添加一种方法,将其数据呈现为模板。
答案 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 。