Kendo dataviz饼图 - 显示远程数据

时间:2013-01-18 20:50:15

标签: asp.net-mvc-3 kendo-ui kendo-dataviz

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

我将“结果”从我的控制器传回我的视线。

results is what I'm passing back to my view.

我的观点包含饼图:

@(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);
    }

1 个答案:

答案 0 :(得分: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()) - 创建了保存值的常规属性。