jQuery MiniUI

标题: treegrid的数据格式问题 [打印本页]

作者: kingannly    时间: 2013-7-8 16:05:51     标题: treegrid的数据格式问题

请问treegrid的数据格式支持不支持类似tree那种结构格式的?demo中的treegrid的数据来源于tasks.txt,而tree来源于tree.txt,把treegrid的数据来源改为tree.txt一样的结构会报json error错误,为什么?
作者: factory    时间: 2013-7-8 16:15:59

支持的,tree和treegrid都支持 树形数据和列表数据
前者是有通过children等一些字段来区分父子关系,有层级
后者是通过id和pid来区分父子关系,数据的结构上都在同一层级
作者: kingannly    时间: 2013-7-8 16:19:47

factory 发表于 2013-7-8 16:15
支持的,tree和treegrid都支持 树形数据和列表数据
前者是有通过children等一些字段来区分父子关系,有层级 ...

如果可以,那么我用tree这种通过children来区分父子关系,下面的treeColumn、idField和 parentField怎么设置?
<div id="treegrid1" class="mini-treegrid" style="width:700px;height:280px;"     
     url="../data/TreeService.aspx?method=LoadTree" showTreeIcon="true"
    treeColumn="taskname" idField="id" parentField="pid" resultAsTree="false"  
    allowResize="true"  fitColumns="false" ondrawcell="OnDrawCell"
>
作者: kingannly    时间: 2013-7-8 16:38:12

kingannly 发表于 2013-7-8 16:19
如果可以,那么我用tree这种通过children来区分父子关系,下面的treeColumn、idField和 parentField怎么 ...

能否说一下?如果可以,我们就打算买了
作者: factory    时间: 2013-7-8 17:09:38

本帖最后由 factory 于 2013-7-8 17:11 编辑
kingannly 发表于 2013-7-8 16:19
如果可以,那么我用tree这种通过children来区分父子关系,下面的treeColumn、idField和 parentField怎么 ...

[
    {id:"1",name:"张三",
        children:[
              {id:"2",name:"李四"}
        ]
    }
]

如果是这种结构的数据,那么就不需要设定parentField了,parentField是针对
[
    {id:"1",name:"张三"},
    {id:"2",name:"李四",pid:"1"}
]
这样的结构的,parentField="pid"


如果是children这类的,需要设定nodesField=“xxxx”,我们默认是children字段来区分父子节点,如果你是其他字段,比如childrenNodes:[....] ,那么设置nodesField=“childrenNodes”
作者: kingannly    时间: 2013-7-8 17:46:58

factory 发表于 2013-7-8 17:09
[
    {id:"1",name:"张三",
        children:[

怎么我设置了nodesField还不行?
代码如下:
<div id="treegrid1" class="mini-treegrid" style="width:700px;height:280px;"     
    url="../data/treeGridTest.txt" showTreeIcon="true"
    treeColumn="taskname" idField="id"  resultAsTree="false"  nodesField="children"
    allowResize="true" expandOnLoad="true"
>
    <div property="columns">
        <div type="indexcolumn"></div>
        <div name="taskname" field="text" width="160" >任务名称</div>
        <div field="id" width="80">进度</div>
                  
    </div>
</div>

数据结构如下:
[
        {id: "base", text: "Base",
                children: [
                        {id: "ajax", text: "Ajax"},
                        {id: "json", text: "JSON"},
                        {id: "date", text: "Date"},
                        {id: "control", text: "Control"},
                        {id: "messagebox", text: "MessageBox"},
                        {id: "window", text: "Window"}
                ]
        },
        {id: "forms", text: "Forms",
                children: [
                        {id: "button", text: "Button"},
                        {id: "listbox", text: "ListBox"},
                        {id: "checkboxlist", text: "CheckBoxList"},
                        {id: "radiolist", text: "RadioList"},
                        {id: "calendar", text: "Calendar"},
                        {id: "textbox", text: "TextBox"},
                        {id: "password", text: "Password"},
                        {id: "textarea", text: "TextArea"},
                        {id: "combobox", text: "ComboBox"},
                        {id: "datepicker", text: "DatePicker"},
                        {id: "spinner", text: "Spinner"},
                        {id: "treeselect", text: "TreeSelect"},
                        {id: "fileupload", text: "FileUpload"}
                ]
        }
]
作者: factory    时间: 2013-7-9 09:20:29

kingannly 发表于 2013-7-8 17:46
怎么我设置了nodesField还不行?
代码如下:

把resultAsTree="false"改为resultAsTree="true",也可以这个属性直接删除掉,因为我们默认就是true的
这个的意思是,你的数据是否为树形数据。如果是属性的,设置为true。
还有如果你的默认的nodesField为children的话,也是不需要设置的,因为我们默认就是children
作者: kingannly    时间: 2013-7-9 09:56:55

factory 发表于 2013-7-9 09:20
把resultAsTree="false"改为resultAsTree="true",也可以这个属性直接删除掉,因为我们默认就是true的
这 ...

可以了,把resultAsTree="false"删除了就可以了,谢谢啦




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2