【问题标题】:Devextreme Master Detail grid not workingDevextreme Master Detail 网格不起作用
【发布时间】:2020-05-22 16:58:19
【问题描述】:

你有一个 json 类型的对象

{
  "alpha": [
    {
      "t1": {},
      "t2": {},
      "t3": [
        {
          "type": "a",
          "width": "b"
        }
      ]
    }
  ]
}

在我的开发极限中,我给出了以下代码:

<dx-data-grid id="gridContainer"
    [dataSource]="alpha"
    [masterDetail]="{ enabled: true, template: 'detail' }"
    keyExpr="ID"
    [showBorders]="true">

    <dxi-column dataField="t1" caption="Type1"></dxi-column>
    <dxi-column dataField="t2" caption="Type2"></dxi-column>

    <div *dxTemplate="let al of 'detail'">
        <dx-data-grid 
------------------------------
            [dataSource]="alpha.t3"
            [showBorders]="true"
            [columnAutoWidth]="true">
                <dxi-column dataField="type"></dxi-column>
                <dxi-column dataField="width" dataType="date"></dxi-column>

------------------------
[dataSource]="alpha"
            [showBorders]="true"
            [columnAutoWidth]="true">
                <dxi-column dataField="t3.type"></dxi-column>
                <dxi-column dataField="t3.width" dataType="date"></dxi-column>

------------------------
        </dx-data-grid>       
    </div>
</dx-data-grid>

在 alpha 对象中,我将 t1 和 t2 显示为表格行,而 t3 仅在行展开时显示。一旦行展开,它将显示 type = a 和 width = b。 我尝试了两种方法来解决由 --------------- 分隔的情况,但都不起作用。 我能够在外部行中显示 t1 和 t2,但 t3 表只显示类型和宽度,值是空的。

【问题讨论】:

  • 您的 alpha 对象没有 ID 字段。

标签: angular8 devextreme devextreme-angular


【解决方案1】:

我认为第一个解决方案非常接近,您做了一个模板循环但您从未使用过。

试试这个:

[dataSource]="al"
            [showBorders]="true"
            [columnAutoWidth]="true">
                <dxi-column dataField="type"></dxi-column>
                <dxi-column dataField="width" dataType="date"></dxi-column>

更重要的是,我认为原始数据源可能存在问题,因为它有时是一个数组,有时是一个对象,也许最好在这两者之间进行选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多