首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XML填充DHTMLx TreeGrid

使用XML填充DHTMLx TreeGrid
EN

Stack Overflow用户
提问于 2014-06-04 15:49:38
回答 2查看 1.4K关注 0票数 0

我目前正在尝试使用XML填充树状网格--问题是我不知道该如何做。我觉得DHTMLx文档不够清晰,因为每个示例似乎都隐藏了相关的xml。

我已经像这样定义了树网格(遵循一个示例布局这里):

代码语言:javascript
复制
this.treeGrid = new dhtmlXGridObject($scope.divId);
this.treeGrid.selMultiRows = true;
this.treeGrid.imgURL = "resources/dhtmlxsuite/dhtmlxgrid/codebase/imgs/icons_greenfolders/";
this.treeGrid.setImagePath("resources/dhtmlxsuite/dhtmlxgrid/codebase/imgs/");
this.treeGrid.setHeader("Tree,Plain Text,Long Text,Color,Checkbox");
this.treeGrid.setInitWidths("150,100,100,100,100");
this.treeGrid.setColAlign("left,left,left,left,center");
this.treeGrid.setColTypes("tree,ed,txt,ch,ch");
this.treeGrid.setColSorting("str,str,str,na,str");

// Init needs to be included or the title won't appear
this.treeGrid.init();

// Needs the css included in the index.html page before it is enforced
this.treeGrid.setSkin("dhx_skyblue");
this.treeGrid.loadXML($scope.xml);

因此,从上面可以看到,我希望名为“tree”的列是这个网格上的实际树。那么,xml应该如何查找呢?是否所有列都必须有数据,否则就无法填充?我尝试了以下操作,但是错误Error On Load XML失败了

代码语言:javascript
复制
<?xml version='1.0' encoding='iso-8859-1'?>
<tree id = "Tree">
<item id = "p1" text = "parent item 1">
    <item id = "c1-0" text = "child item 1" />
    <item id = "c1-0" text = "child item 2" />
</item>
<item id="p2" text="parent item 1" />
</tree>

谢谢

注意:我使用的是DHTMLx pro!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-06 08:07:16

我必须从DHTMLx站点中提取xml,使用Mozilla工具来确定它们如何构造树网格。下面是一个如何做到这一点的例子:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<head>
    <beforeInit>
        <call command="setSkin">
            <param>light</param>
        </call>
        <call command="setStyle">
            <param>text-align:center;</param>
        </call>
        <call command="setImagePath">
                <param>resources/dhtmlxsuite/dhtmlxGrid/codebase/imgs/</param>
        </call>
        <!-- 
        <call command="kidsXmlFile">
            <param></param>
        </call>
        -->
    </beforeInit>

    <column width="150" type="tree" align="left" color="white"
        sort="str">Tree</column>
    <column width="150" type="ed" align="left" sort="str">Cost ($)
    </column>
    <column width="150" type="txt" align="left" sort="str">Engine Size
    </column>

</head>

<!-- <userdata name="gud1"> userdata value 1 </userdata> <userdata name="gud2"> 
    userdata value 2 </userdata> -->

<row id="honda" selected="1" call="1" xmlkids="1">
    <!-- <userdata name="hondaUD"> userdata value for honda </userdata> -->
    <cell>Honda</cell>
</row>

<row id="bmw" xmlkids="1">
    <cell>BMW</cell>
    <row id="bmw1">
        <!-- <userdata name="bmwUD1"> userdata value for bmw1 1 </userdata> <userdata 
            name="bmwUD2"> userdata value for bmw1 2 </userdata> -->
        <cell>325i</cell>
        <cell>30,800</cell>
        <cell>2.5L</cell>
    </row>
    <row id="bmw2">
        <cell>M3 Coupe</cell>
        <cell>47,100</cell>
        <cell>3.2L</cell>
    </row>
</row>

<row id="vw" xmlkids="1">
    <cell>Volkswagen</cell>
    <row id="vw1">
        <cell>Colf GL 2.0</cell>
        <cell>15,580</cell>
        <cell>2.0L</cell>
    </row>
</row>

<row id="mazda" xmlkids="1">
    <cell>Mazda</cell>
    <row id="mazda1">
        <cell>MX-5 Miata</cell>
        <cell>21,868</cell>
        <cell>1.8L</cell>
    </row>
</row>

<row id="porsche" xmlkids="1">
    <cell>Porsche</cell>
    <row id="porsche1">
        <cell>Porsche 911</cell>
        <cell>128,200</cell>
        <cell>3.6L</cell>
    </row>
</row>

如果您只需要静态xml,那么上面的内容就足够了,您可以忽略命令kidsXmlFile,因为它用于从服务器动态加载数据。

票数 0
EN

Stack Overflow用户

发布于 2014-06-11 11:24:18

您创建的xml结构不正确。从initialization.html上拿出来看看这个:

代码语言:javascript
复制
    <?xml version="1.0" encoding="UTF-8"?>
<rows parent="h0"> 
    <userdata name="gud1"> 
        userdata value 1
    </userdata> 
    <row id="h523" selected="1" call="1" xmlkids="1"> 
        <userdata name="hondaUD"> 
            userdata value for honda
        </userdata> 
        <cell image="folder.gif">Honda</cell> 
        <cell>...</cell> 
        <cell>...</cell> 
    </row>
</rows>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24042006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档