0

MVC の Telerik の Kendo UI Pie Chart に問題があります。彼らのサイトで適切なコード例を見つけることができません。私が見つけた 1 つのデモでは、コードの半分しか表示されていなかったので、それを機能させる方法を推測してみました。エラーが発生しました。エラーを解消しようとしても、何も機能していないようです。実際にデータをバインドする series.Pie セクションに問題があります。彼らの例にあるコードをコピーし、彼らと同じようにラムダ式を使用しました。model => model.Percentage および model => model.StatusName を使用して、ビュー モデルを操作します。しかし、最初のラムダでエラーが発生し、次のエラー メッセージが表示されます。

CS1660: デリゲート型ではないため、ラムダ式を型 'string' に変換できません

関連するコードは次のとおりです。

ビューモデル / ビュー:

public class StatusPercentageViewModel
{
    public string StatusName { get; set; }
    public int Count { get; set; }
    public double Percentage { get; set; }
}


@model IEnumerable<StatusPercentageViewModel>
@(Html.Kendo().Chart(Model)
    .Name("StatusBreakdown")
    .Legend(legend => legend
        .Position(ChartLegendPosition.Bottom)
    )
    .Series(series =>
    {
        series.Pie(
            model => model.Percentage,
            model => model.StatusName,
            null,
            null
        );
    })
    .Tooltip(tooltip => tooltip.
        Template("${ category } - ${ value }%").Visible(true)
    )
)
4

1 に答える 1

0

シリーズをそのように定義したい場合は、おそらくモデルを指定する必要があります。この例を参照してください

例えば:

@(Html.Kendo().Chart<StatusPercentageViewModel>()
    .Name("StatusBreakdown")
    .Legend(legend => legend.Position(ChartLegendPosition.Bottom))
    .DataSource(ds => ds.Read(read => read.Action("GetStatus", "Status")))
    .Series(series =>
    {
        series.Pie(
            model => model.Percentage,
            model => model.StatusName
        );
    })
    .Tooltip(tooltip => tooltip.Template("${ category } - ${ value }%").Visible(true))
)

それを行う別の方法(現在のものに似ています)は次のようになります。

@model IEnumerable<StatusPercentageViewModel>
@(Html.Kendo().Chart()
    .Name("StatusBreakdown")
    .Legend(legend => legend.Position(ChartLegendPosition.Bottom))
    .Series(series => series.Pie(Model))
    .Tooltip(tooltip => tooltip.Template("${ category } - ${ value }%").Visible(true))
)
于 2014-12-11T02:01:49.273 に答える