【问题标题】:Setting Kendo Chart series name from datasource从数据源设置剑道图表系列名称
【发布时间】:2013-05-21 13:00:03
【问题描述】:

在剑道图表示例中,我从数据源读取系列线值并静态设置系列名称(例如“系列名称”)。现在我正在寻找一种方法来根据我从 DB 读取的数据动态设置系列名称。 这是我的代码:

    @(Html.Kendo().Chart()
             .Name("Chart")
             .Title("Chart Title")
             .DataSource(ds=>ds.Read(read=>.read.Action("GetValues", "Controller")))
             .Series(series=>series.Line(model=>model.Value).Name("Series Name"))
     )

【问题讨论】:

    标签: asp.net-mvc model-view-controller kendo-ui


    【解决方案1】:

    将散点图与 GroupNameTemplate 一起使用有助于动态设置图表系列名称。类似于下面的代码 sn-p:

    <%= Html.Kendo().Chart(Model)
        .Name("chart")
        .Title("Stock Prices")
        .DataSource(dataSource => dataSource
            .Read(read => read.Action("_StockData", "Scatter_Charts"))
            .Group(group => group.Add(model => model.Symbol))
            .Sort(sort => sort.Add(model => model.Date).Ascending())
        )
        .Series(series =>
        {
            series.ScatterLine(model => model.Date, model => model.Close)
                .Name("close")
                .GroupNameTemplate("#= group.value # (#= series.name #)");
        })
        .Legend(legend => legend
            .Position(ChartLegendPosition.Bottom)
        )
        .YAxis(axis => axis.Numeric()
            .Labels(labels => labels
                .Format("${0}")
                .Skip(2)
                .Step(2)
            )
        )
        .XAxis(axis => axis.Date()
            .Labels(labels => labels.Format("MMM"))
        )
    %>
    

    【讨论】:

      【解决方案2】:

      Telerik 论坛上 Telerik 管理员的回答:

      @(Html.Kendo().Chart<ChartDynamicBinding.Models.ViewModel>()
              .Name("Chart3")
              .Title("Test")
              .DataSource(dataSource =>
                      dataSource.Read(read => read.Action("Series", "Home"))
                      .Group(g=> g.Add(v=> v.Series))
                      .Sort(s=> s.Add(v=> v.Date))
              )
              .Legend(legend => legend
                  .Position(ChartLegendPosition.Bottom)
              ).ChartArea(chartArea => chartArea
                          .Background("transparent")
              )
              .SeriesDefaults(seriesDefaults =>
                  seriesDefaults.Line().Style(ChartLineStyle.Smooth)
              )
              .Series(series =>
              {
                  series.Line(value => value.Hitcount, category => category.Date).Name("#:group.value#").Labels(labels => labels.Visible(true).Color("Red")).Color("Blue");                                                
              })
              .CategoryAxis(axis => axis
                      .Labels(labels => labels.Rotation(-65)
                  )
              )                       
              .ValueAxis(axis => axis
                  .Numeric().Labels(labels => labels.Format("{0}"))
                  .Line(line => line.Visible(false))
                  .AxisCrossingValue(-10)
              )
              .Tooltip(tooltip => tooltip
                  .Visible(true)
                  .Format("{0}")
              )
      )
      

      链接:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-19
        相关资源
        最近更新 更多