无法调用null dhtmlx网格的方法'appendChild'

时间:2012-12-22 16:45:23

标签: javascript jquery dhtmlx

这是我的网格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 () { });

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

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

3 个答案:

答案 0 :(得分:2)

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

当网格进程loadXMLString时,它会尝试第一次呈现列结构,这在配置错误的情况下会导致上述错误。

答案 1 :(得分:0)

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

  • 解析节点之间的空格问题?
  • 节点之间意外的文本文字(如不正确转义的\ r或\ n)?
  • 您是否能够成功执行$.parseXML(data.data)

答案 2 :(得分:0)

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

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

然后我打电话给myGrid.loadXmlString