0

foreach ループ内に含まれる複数の kendo ui 円グラフをレンダリングしようとしています。レンダリングすると、(Model.TrackingItems 内の) すべての追跡アイテム (スパンの間にある) が正しく表示されますが、最初のチャートのみがレンダリングされます。リストの追跡項目には 3 つの項目があり、3 つの円グラフが表示されます。何が問題になる可能性がありますか?

前もって感謝します。

  @foreach (var item in Model.TrackingItems)
        {
             @* THIS PART IS RENDERED FOR EACH ITEM *@

   <span>Not Done - </span>@Html.Encode(item.NotDone)<br />
                    <span>Not Required - </span>@Html.Encode(item.NotRequired)<br />
                    <span>Completed - </span>@Html.Encode(item.Completed)<br />
                    <span>Cancelled - </span>@Html.Encode(item.Cancelled)<br />

               @* ONLY THE FIRST PIE CHART IS RENDERED *@
                <div id="@Html.Encode(item.Id)" class="chart-wrapper">
                    @(Html.Kendo().Chart()
                    .Name("chart")
                    .Title(title => title
                    .Text("Tracking Info")
                    .Position(ChartTitlePosition.Top))
                    .Legend(legend => legend
                    .Visible(false)
                )
                .Series(series =>
                {
                    series.Pie(new dynamic[] {
                        new {category="Not Done",value=@item.NotDone,color="#9de219"},
                        new {category="Not Required",value=@item.NotRequired,color="#90cc38"},
                        new {category="Completed",value=@item.Completed,color="#068c35"},
                        new {category="Cancelled",value=@item.Cancelled,color="#006634"},

                })
                .Labels(labels => labels
                    .Template("#= category #: \n #= value#%")
                    .Background("transparent")
                    .Visible(true)
                )
                .StartAngle(150);
                })
                .Tooltip(tooltip => tooltip
                .Visible(true)
                .Format("{0}%")
                ))
                </div>
        }
4

1 に答える 1

0

.Name 属性は、div ID ではなく一意である必要があることがわかりました。

Changed

 .Name("chart")

To

 .Name(@Html.Encode(item.Id))
于 2015-01-28T06:07:18.950 に答える