0

我正在尝试使用以下信息显示 Kendo dataviz 饼图。

我正在将“结果”从我的控制器传回我的视图。

结果就是我要传递回我的观点。

我的视图包含饼图:

@(Html.Kendo().Chart<PropertyViewModel>()
        .Name("chart")
        .Title("Properties")
        .Legend(legend => legend
            .Position(ChartLegendPosition.Top)
        )
        .DataSource(ds => ds.Read(read => read.Action("GetPropertiesChart", "Home")))
        .Series(series => {
            series.Pie(model => model.Address.State, model => model.Address.State.Count().ToString());
        })
        .Tooltip(tooltip => tooltip
            .Visible(true)
            .Format("{0:N0}")
        )
    ) 

除了饼图应该在的页面上的空白区域外,我什么也没有。

控制器代码:

public ActionResult GetPropChart()
    {
        var allProps = PService.GetAll();

        var props = allProps.Cast<PropViewModel>().ToList();


        var results = props
                .GroupBy(item => item.Address.State)
                .Select(g => new
                {
                    State = g.Key,
                    Count = g.Select(l => l.Address.State).Count()
                });

        return Json(results);
    }
4

1 回答 1

0

您返回的模型如下:

.Select(g => new
      {
          State = g.Key,
          Count = g.Select(l => l.Address.State).Count()
      }

但是您的系列定义不同(没有 Adress 属性)

series.Pie(model => model.Address.State)

也不支持绑定到方法(例如 model.Address.State.Count().ToString()) - 创建的常规属性改为保存该值。

于 2013-01-21T16:58:07.090 回答