这是我的网格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值。什么似乎是问题?
答案 0 :(得分:2)
appendChild方法与xml解析没有直接关系,可能是由于某些网格配置错误或将网格附加到不存在的html容器引起的。
当网格进程loadXMLString时,它会尝试第一次呈现列结构,这在配置错误的情况下会导致上述错误。
答案 1 :(得分:0)
我认为loadXMLString
内部存在一个问题,阻止它解析你传入的xml。鉴于我们无法看到dhtmlx正在使用的代码,我不太确定它可能是什么。
$.parseXML(data.data)
?答案 2 :(得分:0)
我使用下面的代码来解决这个问题,
myGrid.setHeader(...);
myGrid.setColumnIds(...);
myGrid.Init();
然后我打电话给myGrid.loadXmlString