マルチレベルのグループ化でHTMLテーブルにデータを表示する

開発者

rowspanを使用してグループ化することにより、HTMLテーブルにいくつかのデータを表示する必要があります。以下は予想されるGUIです

ここに画像の説明を入力してください

私は以下のようなJSONデータを持っています。ここにJSONデータ

ここに画像の説明を入力してください

角度コード

<table class="table table-fixed" border="1">
            <thead>
               <tr>
        <th>Country</th>
        <th>State</th>
        <th>City</th>
        <th>Street</th>
        <th>Male</th>
        <th>Female</th>
        <th>Others</th>
    </tr>
            </thead>
            <tbody>
                <ng-container *ngFor="let country of Countries">
                    <tr *ngFor="let item of [].constructor(country.NoOfStreets); let streetIdx = index">
                        <ng-container *ngFor="let state of country.States; let stateIdx = index">

                            <td [attr.rowspan]="state.NoOfStreets" style="width: 15%">
                                {{state.StateName}}  
                            </td>

                        </ng-container>

                         <ng-container *ngFor="let state of country.States; let stateIdx = index">
                            <ng-container *ngFor="let city of state.Cities; let cityIdx = index">
                                <td [attr.rowspan]="city.NoOfStreets" style="width: 15%">{{city.CityName}}</td>

                                <ng-container *ngFor="let street of city.Streets; let streetIdx = index">
                                <td style="width: 15%">{{street.StreetName}}</td>
                                <td style="width: 15%">{{street.Male}}</td>
                                 <td style="width: 15%">{{street.Female}}</td>
                                  <td style="width: 15%">{{street.Others}}</td>
                            </ng-container>

                            </ng-container>
                        </ng-container>
                    </tr>
                </ng-container>
            </tbody>

        </table>

期待されるUIを生成できませんでした。別のUIが表示され、正しくレンダリングされません。私はこれをほぼ一週間試しましたが、何もうまくいきませんでした。

PLUNKのバージョンはhttps://next.plnkr.co/edit/5nYNZ86BiWDke3GE?open=lib%2Fapp.ts&deferRun=1です

アレクサンドルミハルシウク

あなたが望むのは、すべてのストリートを平らにして配列にまとめ、それをループするようにすることです。フラットコードは次のようになります。

      const concat = (x,y) => x.concat(y)
      const flatMap = (f,xs) => xs.map(f).reduce(concat, [])


        let states = flatMap(c => c.States.map(s => ({Country:c, State: s})), this.Countries);
        let cities = flatMap(c => c.State.Cities.map(s => ({Country:c.Country, State:c.State, City: s})), states);

        this.streets = flatMap(c => c.City.Streets.map(str => ({Country:c.Country,     State:c.State, City: c.City, Street: str})), cities);

そして、各国、州、市が次のようなグループの最初であるかどうかを簡単に確認できます。

  <tbody>               
                <tr *ngFor="let str in streets">
                    <td *ngIf="firstCountryInGroup(str)" [rowspan]="numberOfCountry(str)">
                        {{str.Country.CountryName}}
                    </td>
                    <td *ngIf="firstStateInGroup(str)" [rowspan]="numberOfStatse(str)">
                        {{str.State.CityName}}
                    </td>
                    <td *ngIf="firstCityInGroup(str)" [rowspan]="numberOfCities(str)">
                        {{str.City.CityName}}
                    </td>
                    <td>{{str.Street.Name}}<td>
                    <td>{{str.Street.Male}}<td>
                    <td>{{str.Street.Female}}<td>
                    <td>{{str.StreetOthers}}<td>
                </tr>               
            </tbody>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

HTMLテーブルに合計するマルチレベルのグループ化

分類Dev

Pythonデータフレームをマルチレベルの行でグループ化する方法は?

分類Dev

SQL データベースからの行をテーブルの日付でグループ化する

分類Dev

データベーステーブルデータを日ごとにグループ化し、htmlテーブルを使用してカレンダーを作成するにはどうすればよいですか?

分類Dev

テーブル内のデータをグループ化するデータベース

分類Dev

グーグルチャートカスタムhtmlツールチップのphpデータテーブルにプロパティを追加する

分類Dev

javascriptでのマルチレベルのグループ化

分類Dev

データテーブルでマウスオーバー時に画像プレビューを表示する方法

分類Dev

2レベルのマルチイデックスシリーズをデータフレームに再グループ化して、2番目のレベルのインデックスが名前になるようにしますか?

分類Dev

テーブルの要素をベクトルにグループ化する方法

分類Dev

1つのピボットテーブルからのSQLFORXMLマルチレベル-データのグループ化

分類Dev

関連するテーブルのフィールドごとにデータをグループ化する

分類Dev

Rの名前ではなく、データテーブルのグループ化に列番号を使用する

分類Dev

SqlDataSourceデータをHTMLテーブルに表示する(DataTablesプラグイン)

分類Dev

データベースのデータをlaravelブレードテーブルに表示する

分類Dev

sqlite データを名前でグループ化して 2 番目のテーブルに結合する

分類Dev

Altairのトップレベルでデータを共有するマルチビューチャート

分類Dev

角度のあるグーグルマップディレクティブを使用してマーカーラベルを表示する

分類Dev

HTMLテーブルに非表示のデータを追加する

分類Dev

データを水平方向にグループ化してテーブルに表示する

分類Dev

3つのSQLテーブルのデータをグループ化する

分類Dev

HTMLテーブルにデータを表示するためのベストプラクティス

分類Dev

グループレベルのテーブルから個々のレベルのテーブルを取得するにはどうすればよいですか?

分類Dev

データをテーブルにグループ化する方法(tableau)

分類Dev

データテーブルを垂直方向にグループ化する方法

分類Dev

dotnetnukeを既存のデータベーステーブルでアップグレードする方法

分類Dev

マルチレベルキーでテキストをフィルタリングする角度パイプ

分類Dev

マルチレベルインデックスの1つのレベルでパンダデータフレームをフィルタリングする

分類Dev

antdテーブルのデータのチャンクをグループ化する

Related 関連記事

  1. 1

    HTMLテーブルに合計するマルチレベルのグループ化

  2. 2

    Pythonデータフレームをマルチレベルの行でグループ化する方法は?

  3. 3

    SQL データベースからの行をテーブルの日付でグループ化する

  4. 4

    データベーステーブルデータを日ごとにグループ化し、htmlテーブルを使用してカレンダーを作成するにはどうすればよいですか?

  5. 5

    テーブル内のデータをグループ化するデータベース

  6. 6

    グーグルチャートカスタムhtmlツールチップのphpデータテーブルにプロパティを追加する

  7. 7

    javascriptでのマルチレベルのグループ化

  8. 8

    データテーブルでマウスオーバー時に画像プレビューを表示する方法

  9. 9

    2レベルのマルチイデックスシリーズをデータフレームに再グループ化して、2番目のレベルのインデックスが名前になるようにしますか?

  10. 10

    テーブルの要素をベクトルにグループ化する方法

  11. 11

    1つのピボットテーブルからのSQLFORXMLマルチレベル-データのグループ化

  12. 12

    関連するテーブルのフィールドごとにデータをグループ化する

  13. 13

    Rの名前ではなく、データテーブルのグループ化に列番号を使用する

  14. 14

    SqlDataSourceデータをHTMLテーブルに表示する(DataTablesプラグイン)

  15. 15

    データベースのデータをlaravelブレードテーブルに表示する

  16. 16

    sqlite データを名前でグループ化して 2 番目のテーブルに結合する

  17. 17

    Altairのトップレベルでデータを共有するマルチビューチャート

  18. 18

    角度のあるグーグルマップディレクティブを使用してマーカーラベルを表示する

  19. 19

    HTMLテーブルに非表示のデータを追加する

  20. 20

    データを水平方向にグループ化してテーブルに表示する

  21. 21

    3つのSQLテーブルのデータをグループ化する

  22. 22

    HTMLテーブルにデータを表示するためのベストプラクティス

  23. 23

    グループレベルのテーブルから個々のレベルのテーブルを取得するにはどうすればよいですか?

  24. 24

    データをテーブルにグループ化する方法(tableau)

  25. 25

    データテーブルを垂直方向にグループ化する方法

  26. 26

    dotnetnukeを既存のデータベーステーブルでアップグレードする方法

  27. 27

    マルチレベルキーでテキストをフィルタリングする角度パイプ

  28. 28

    マルチレベルインデックスの1つのレベルでパンダデータフレームをフィルタリングする

  29. 29

    antdテーブルのデータのチャンクをグループ化する

ホットタグ

アーカイブ