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多次元配列にModelプロパティの値(上記の静的な値ではなく)を入力することです。これには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; }
    }
4

1 に答える 1

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>

}

line1JavaScript オブジェクトに変換する必要があるサーバー側の変数です。次にlineJson 、javascript でグラフをプロットするために使用します。

于 2012-05-20T02:37:19.760 に答える