2016-02-01 5 views
0
$("#collectorscompleted").kendoChart({ 
     legend: { 
      visible: false 
     }, 
     seriesDefaults: { 
      type: "column" 
     }, 
     series: [{ 
      name: "Completed", 
      data: [@Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 4), 
        @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 8), 
        @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 14), 
        @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 18)] 
     }, { 
      name: "Failed", 
      data: [@Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 4), 
        @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 8), 
        @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 14), 
        @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 18)] 
     }], 
     valueAxis: { 
      labels: { 
       visible: false 
      }, 
      line: { 
       visible: false 
      }, 
      majorGridLines: { 
       visible: false 
      } 
     }, 
     categoryAxis: { 
      categories: [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18], 
      line: { 
       visible: false 
      }, 
      majorGridLines: { 
       visible: false 
      } 
     }, 
     chartArea: { 
      background: "none" 
     }, 
     tooltip: { 
      visible: true, 
      format: "{0}", 
      template: "#= series.name #: #= value #" 
     } 
    }); 

У меня есть следующий сценарий. Однако в настоящее время категории жестко печатаются в себе, что неправильно.
Мой вопрос: Как я могу получить все CollectorID s от модели?Получить все элементы из модели (ASP.NET MVC)

Категории: [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18], // Все collectorID от модели здесь

+0

Вы пытались использовать '@ Model.CollectorIDs'? – Zippy

+0

это невозможно. У меня есть модель, которая содержит 3 модели. Programstatus, collectorstatus и Datafilestatus. Модель Collectorstatus отображает такие определения, как startdate, enddate, id enz. –

ответ

0

Вы используете MVC. Чтобы получить идентификаторы collector от модели, вы должны добавить ее в свой контроллер. Вы должны вызывать контроллер в ajax непосредственно перед вызовом этого инициализатора. Это будет выглядеть как этот

Javascrit

function GetCollectionInformationAjax() 
    { 
     $.ajax({ 
      type: "GET", 
      url: "@Url.Action("GetCollectionInformation", "YourController")", 
      contentType: "application/json", 
      cache: false, 
      success: function (data) { 
       //call the initialzer here 
       Initialize(data); 
      }, 
      error: function (xhr, status, error) { 

      } 
     }); 
    } 

C# контроллер

public actionResult GetCollectionInformation() 
{ 
    //This is an exemple, you have to replace it! 
    return [1,2,3,4,5,6,7,8,9,10,13,14,15,16,17,18]; 
} 

Ваш Javascript

function Initialize(data) 
{ 
$("#collectorscompleted").kendoChart({ 
    legend: { 
     visible: false 
    }, 
    seriesDefaults: { 
     type: "column" 
    }, 
    series: [{ 
     name: "Completed", 
     data: [@Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 4), 
       @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 8), 
       @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 14), 
       @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => c.BatchCompleted.Value && c.CollectorID == 18)] 
    }, { 
     name: "Failed", 
     data: [@Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID==1), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 2), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 3), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 4), 
       @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 5), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 6), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 7), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 8), 
       @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 9), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 10), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 13), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 14), 
       @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 15), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 16), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 17), @Model.CollectorStatus.Count(c => !c.BatchCompleted.Value && c.CollectorID == 18)] 
    }], 
    valueAxis: { 
     labels: { 
      visible: false 
     }, 
     line: { 
      visible: false 
     }, 
     majorGridLines: { 
      visible: false 
     } 
    }, 
    categoryAxis: { 
     categories: data, 
     line: { 
      visible: false 
     }, 
     majorGridLines: { 
      visible: false 
     } 
    }, 
    chartArea: { 
     background: "none" 
    }, 
    tooltip: { 
     visible: true, 
     format: "{0}", 
     template: "#= series.name #: #= value #" 
    } 
});} 
Смежные вопросы