グラフのグラフを動的にグラフに追加しようとしていますが、私が持っているデータセットの数がわかりません これで2日間私は頭を悩ませました。 ..chart.jsにダイナミックデータセットを追加
私が年、月と値を含むリストを持っている:
public int Month { get; set; }
public int Year { get; set; }
public int Value { get; set; }
私のHTMLは、チャートのためだけのキャンバスです:
<div>
<canvas id="myChart"> </canvas>
</div>
私はこのようなチャートを移入:
var dataList = [];
var lableList = [];
@foreach (var dataInput in Model.TurnoverByReservation)
{
@:dataList.push("@dataInput.Value");
@:lableList.push("@dataInput.MonthName");
}
var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels: lableList,
datasets: [
{
label: 'Booking value',
data: dataList,
backgroundColor: backgroundColors,
borderColor: borderColors,
borderWidth: 1
}
]
},
options: {
scales: {
yAxes: [
{
ticks: {
beginAtZero: true,
callback: function(value, index, values) {
if (parseInt(value) >= 1000) {
return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
} else {
return value;
}
}
}
}
]
}
}
});
質問は次のとおりです。どのように私はこのようなものを使用することができるようにグラフに別のデータセットを追加することができますか?
@foreach (var year in Model.TurnoverByReservation.OrderBy(x =>x.Month).GroupBy(x => x.Year))
{
foreach (var value in year)
{
//Add the value to the dataset, somehow...
}
}
こんにちはtektivため@tektivする大きな感謝最終的な作業のソリューションですだからそれはmvcモデルからのデータで動作しますか? (Model.TurnoverByReservation.OrderByでVAR年(X => x.Month).GroupBy(X => x.Year)) @foreach {foreachの(年のVaRの値) {/:このような /データセットに値を追加する } } –
@MarcusOhlsson私はMVCに特に慣れていません。特に.netの場合、インポートされたデータをループする正確な構文はわかりません。しかし、私はループ内にあるものとそれほど異なるわけではないと確信しています。私は、 '@ forforeach(Model.Turnoverでvar year) 'の' for(year in model) 'を変更する必要があると思います。 – tektiv
問題の解決策を見つけました:)私は完全なコードで質問を更新します –