0

这是我的网格 xml:

<rows>  
    <row>  
        <cell>101</cell>  
        <cell>some name</cell>  
        <cell>917</cell>
    </row>
</rows>

我通过 Ajax 将其作为 data.data 获取。

在 Ajax 调用的成功中,我有这个:

myGrid.attachHeader(data.filters);
if (data.widths != undefined) myGrid.setInitWidths(data.widths);
myGrid.setColTypes(data.types);
myGrid.init();
myGrid.loadXMLString(data.data, function () { });

它在这条线上崩溃:

myGrid.loadXMLString(data.data, function () { });

我收到错误“无法调用 null 的方法 'appendChild'”

但一切都有很好的价值。myGrid 没问题, data.data 的值没问题。似乎是什么问题?

4

3 回答 3

2

appendChild 方法与 xml 解析没有直接关系,可能是由于某些网格配置错误,或者将网格附加到不存在的 html 容器。

网格进程 loadXMLString 时会尝试第一次渲染列结构,如果配置不正确会导致上述错误。

于 2012-12-26T12:46:43.220 回答
0

我假设有一个内部问题loadXMLString阻止它解析您传入的 xml。鉴于我们看不到 dhtmlx 正在使用的代码,我不太确定它可能是什么。

  • 解析节点之间的空白时出现问题?
  • 节点之间的意外文本文字(如不正确转义的 \r 或 \n)?
  • 你能成功执行$.parseXML(data.data)吗?
于 2012-12-22T16:58:06.863 回答
0

我使用下面的代码来解决这个问题,

myGrid.setHeader(...);
myGrid.setColumnIds(...);
myGrid.Init();

然后我打电话 myGrid.loadXmlString

于 2017-02-06T11:18:57.977 回答