2013-05-21 2 views
0

в примере диаграммы кендо Я прочитал значение строки строки из источника данных и установил название серии статически (например, «Название серии»). теперь я ищу способ установить название серии, динамически соответствующее данным, которые я читал из БД. вот мой код:Установка названия серии диаграмм Кендо из источника данных

@(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")) 
    ) 

ответ

0

используя Scatterline диаграмму вместе с GroupNameTemplate может помочь установить имя серии диаграммы динамически. что-то вроде сильфона фрагмент кода:

<%= 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")) 
    ) 
%> 
0

Ответ от 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}") 
     ) 
) 

Ссылки: