Reputation: 161
I want to create a chart and compare 2 values, I a using ChartJs .. now the issue is how do i pass the Binded result variable to the js , what i mean is how to remove the static values from chart and provide the c# values..
my blazor variables are PreMoney Value & PostMoney Value and how should I pass the PreMoney Value & Post Money Value in data:[]
window.chartJs = () => {
var ctx = document.getElementById('myChart');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
datasets: [{
label: '# of Votes',
**data: [12, 19, 3, 5, 2, 3],**
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
var myVentureChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ['PreMoney Value', 'PostMoney Value'],
datasets: [{
label: '# of Votes',
data: [12, 19],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
};
Upvotes: 1
Views: 322
Reputation: 41
In your Blazor page:
@inject IJSRuntime jsRunTime;
<div id="chartdiv"></div>
<button @onclick="CreateChart">Create Chart</button>
@code {
private async Task CreateChart()
{
await jsRunTime.InvokeVoidAsync("YourJavaScriptFunction", preMoney, postMoney);
}
}
In your JavaScript:
function YourJavaScriptFunction(preMoney, postMoney) {
...
}
Upvotes: 1