2012-05-20 2 views
0

У меня есть следующий вид, который отвечает за отображение диаграммы, в настоящее время для целей тестирования я проходящий статических значения для массива, как следующие: -Как я могу заполнить многомерный массив со своими свойствами моделей

@model IEnumerable<Medical.Models.Session> 

<script src="../../Scripts/jqplot/jquery.jqplot.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jqplot/jqplot.barRenderer.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jqplot/jqplot.categoryAxisRenderer.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jqplot/jqplot.pointLabels.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jqplot/jqplot.dateAxisRenderer.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jqplot/jqplot.highlighter.min.js" type="text/javascript"></script> 
<script src="../../Scripts/jqplot/jqplot.cursor.min.js" type="text/javascript"></script> 



<p> 
<script type="text/javascript"> 
    $(document).ready(function() { 

     line1 = [['23-May-2008', 578.55], ['20-Jun-2008', 566.5], ['25-Jul-2008', 480.88], 
     ['22-Aug-2008', 509.84], ['26-Sep-2008', 454.13], ['24-Oct-2008', 379.75], 
     ['21-Nov-2008', 303], ['26-Dec-2008', 308.56], ['23-Jan-2009', 299.14], 
     ['20-Feb-2009', 346.51], ['20-Mar-2009', 325.99], ['24-Apr-2009', 386.15], ['01-Apr-2012', 786.15]]; 
     var plot1 = $.jqplot('chart1', [line1], { title: 'Data Point Highlighting', 
      axesDefaults: { pad: 1.2 }, 
      axes: { xaxis: { renderer: $.jqplot.DateAxisRenderer, 
       tickOptions: { 
        formatString: '%d/%b/%Y' 
       } 
      }, 
       yaxis: { tickOptions: { formatString: '%.2f'} } 
      }, 
      highlighter: { show: true, sizeAdjust: 7.5, tooltipLocation: 'nw' 
       //   , formatString: '<b>%s</b>' 
      }, cursor: { show: true, tooltipOffset: 6 } 
     }) 

    }); 

</script> 

<div id = "chart1"> 
</div> 

Но что я пытаюсь сделать, это заполнить Line1 мульти-мерный массив со значениями свойств модели (вместо статических значений, указанных выше), который содержит Date & Result ,, что-то похожее на это: -

@foreach (var item in Model) { 

    //code goes here,, 

    line1 [1,1] = [item.Date , item.Result] // only for describing what i am trying to do 
    } 

- ::: EDITED ::: - метод действий, что построить модель выглядит следующим образом: -

public PartialViewResult showpatientsessions(int Medicine, int PatientID) { 
      var m = repository.showpatientsessions(Medicine, PatientID).OrderByDescending(d => d.Date); 
      return PartialView("_showpatientsessions",m); 
     } 

Модель: -

public partial class Session 
    { 
     public int LabTestID { get; set; } 
     public int VisitID { get; set; } 
     public decimal Result { get; set; } 
     public Nullable<System.DateTime> Date { get; set; } 
     public string Comment { get; set; } 

     public virtual LabTest LabTest { get; set; } 
     public virtual Visit Visit { get; set; } 
    } 
+0

Как ваша структура модели? Можете ли вы опубликовать свой код модели? – rcdmk

+0

спасибо за ответ ,, я обновил свое сообщение, чтобы ответить на вопрос ур. –

ответ

0

при добавлении значений в массив нужно чтобы сделать это, как таким образом,

@{ 
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); 
//.... 
@for (int i=0;i<Model.Count;i++) { 
     var item=Model[i]; 
     //code goes here,, 
     line1 [i,0] = item.Date ; 
     line1[i,1] = item.Result; // only for describing what i am trying to do 
    } 
<script> 

var line1Json = @serializer.Serialize(line1); 
</script> 

} 

line1 является переменной на стороне сервера вам нужно convert it to a JavaScript object. Затем используйте lineJson для построения графика в javascript.

Смежные вопросы