このセクションでは、MVC Web アプリケーションに FlexChart コントロールを追加し、そこにデータを追加する方法について説明します。
このトピックは3つの手順で構成されます。
次の図は、上記の手順を実行した後の FlexChart を示しています。

ComponentOneまたはVisualStudioテンプレートを使用して新しいMVCアプリケーションを作成します。MVCアプリケーションの作成の詳細については、「MVCアプリケーションの設定」を参照してください。
FlexChartDataSource.cs)。新しいモデルの追加方法については、「コントロールの追加」を参照してください。| Index.cshtml |
コードのコピー
|
|---|---|
public class FlexChartDataSource
{
public string Name { get; set; }
public int MarPrice { get; set; }
public int AprPrice { get; set; }
public int MayPrice { get; set; }
private IEnumerable<FruitSale> _sales = null;
public IEnumerable<FruitSale> Sales
{
get
{
if (_sales == null)
{
_sales = GetSales();
}
return _sales;
}
}
public static IEnumerable<FlexChartDataSource> GetFruitsSales()
{
var rand = new Random(0);
var fruits = new[] { "オレンジ", "リンゴ", "なし(梨)", "バナナ", "パイナップル" };
var list = fruits.Select((f, i) =>
{
int mar = rand.Next(1, 6);
int apr = rand.Next(1, 9);
int may = rand.Next(1, 6);
return new FlexChartDataSource { Name = f, MarPrice = mar, AprPrice = apr, MayPrice = may };
});
return list;
}
private IEnumerable<FruitSale> GetSales()
{
var rand = new Random(0);
var today = DateTime.Now.Date;
var firstDay = new DateTime(today.Year-2013, 1, 1);
var dataTimes = new List<DateTime>();
for (int i = 0; i < 92; i++)
{
dataTimes.Add(firstDay.AddDays(i + 1));
}
var list = dataTimes.Select((date, i) =>
{
FruitSale sale = new FruitSale { Date = date };
sale.SalesInChina = rand.Next(150, 250);
if (i % 30 != 0)
{
sale.SalesInUSA = rand.Next(100, 200);
sale.SalesInJapan = rand.Next(0, 100);
}
else
{
sale.SalesInUSA = null;
sale.SalesInJapan = null;
}
return sale;
});
return list;
}
}
public class FruitSale
{
public DateTime Date { get; set; }
public int? SalesInUSA { get; set; }
public int? SalesInChina { get; set; }
public int? SalesInJapan { get; set; }
}
|
|
FlexChart コントロールを初期化するには、次の手順を実行します。
新しいコントローラーの追加
QuickStartController)。| C# |
コードのコピー
|
|---|---|
using C1.Web.Mvc; using C1.Web.Mvc.Serializition; using C1.Web.Mvc.Chart; using <ApplicationName>.Models; |
|
Index() を次のメソッドに置き換えます。
| C# |
コードのコピー
|
|---|---|
public ActionResult QuickStart() { // データソースを設定します FlexChartDataSource ds = new FlexChartDataSource(); return View(ds.Sales); |
|
ビューの追加
QuickStartControllerをダブルクリックして開きます。QuickStart() 内にカーソルを置きます。| CSHTML |
コードのコピー
|
|---|---|
<c1-flex-chart binding-x="Name"chart-type="ChartType.Column" > <c1-items-source source-collection="Model"></c1-items-source> <c1-flex-chart-series binding="SalesInJapan" name="日本での売上"> </c1-flex-chart-series> </c1-flex-chart> |
|