このセクションでは、MVC WebアプリケーションにFinancialChartコントロールを追加し、そこにデータを追加する方法について説明します。
このトピックは5つの手順で構成されます。
次の図は、上記の手順を実行した後のFinancialChartを示しています。
C1.Web.Mvc.LicenseDetector, C1.Web.Mvc'
の後で[ENTER]を押し、次のコードを貼り付けます。
licenses.licx |
コードのコピー
|
---|---|
C1.Web.Mvc.LicenseDetector, C1.Web.Mvc C1.Web.Mvc.Finance.LicenseDetector, C1.Web.Mvc.Finance |
ASP.NET MVC FinancialChartコントロールを使用するために必要なリソースを登録するには、次の手順を実行します。
_Layout.cshtml
をダブルクリックして開きます。<head></head>
タグの間に次のコードを追加します。
FinancialChartのリソースを登録する方法については、「リソースの登録」を参照してください。
FData.cs
)。新しいモデルの追加方法については、「コントロールの追加」を参照してください。C# |
コードのコピー
|
---|---|
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MVCFinancialChart.Models { public class FinanceData { public DateTime X { get; set; } public double High { get; set; } public double Low { get; set; } public double Open { get; set; } public double Close { get; set; } public double Volume { get; set; } } } |
FinancialChartコントロールを初期化するには、次の手順を実行します。
新しいコントローラーの追加
QuickStartController
)。C# |
コードのコピー
|
---|---|
using C1.Web.Mvc; using C1.Web.Mvc.Serializition; |
Index()
を次のメソッドに置き換えます。
C# |
コードのコピー
|
---|---|
public ActionResult Index() { var model = GenerateFinanceData(); return View(model); } private List<FData> GenerateFinanceData(int count = 60) { List<FData> financeDatas = new List<FData>() { }; DateTime startTime = new DateTime(2015, 1, 1); var rand = new Random(); double high, low, open, close, volume; for (int i = 0; i < count; i++) { DateTime dt = startTime.AddDays(i); if (i > 0) open = financeDatas[i - 1].Close; else open = 188; high = open + rand.NextDouble() * 30; low = open - rand.NextDouble() * 20; close = low + rand.NextDouble() * (high - low); volume = rand.Next(); financeDatas.Add(new FData { X = dt, High = high, Low = low, Open = open, Close = close, Volume = volume }); } return financeDatas; } |
コントローラーのビューの追加
QuickStartController
をダブルクリックして開きます。QuickStart()
内にカーソルを置きます。Razor |
コードのコピー
|
---|---|
@using MVCFinancialChart.Models @model List<FData> <script type="text/javascript"> var tooltipContent = function (ht) { var item = ht.series.collectionView.items[ht.pointIndex]; if (item) { return 'Date: ' + wijmo.Globalize.format(ht.x, 'MM月-dd日') + '<br/>' + 'High: ' + item.High.toFixed() + '<br/>' + 'Low: ' + item.Low.toFixed() + '<br/>' + 'Open: ' + item.Open.toFixed() + '<br/>' + 'Close: ' + item.Close.toFixed() + '<br/>' + 'Volume: ' + item.Volume.toFixed(); } }; </script> @*FinancialChart コントロールを初期化します。*@ @(Html.C1().FinancialChart() .Bind(Model) //グラフの高さと幅を設定します。 .Width(1000) .BindingX("X") //グラウのタイプを設定します。 .ChartType(C1.Web.Mvc.Finance.ChartType.ArmsCandleVolume) .Series(sers => { sers.Add().Binding("High,Low,Open,Close,Volume"); }).AxisX(x => x.Format("yyyy年MM月dd日")) .Tooltip(t => t.Content("tooltipContent"))) |