Click here to Skip to main content
15,888,521 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi. I'm implementing an asp.net core project. I have written a few queries in Home controller that their output are used for some charts in its relevant view. When I just show a chart with its related query, it works fine and the page shows the chart but when I want to show 4 charts using bootstrap with its related query it doesn't show anything. I appreciate if anyone tells me what is the problem.

What I have tried:

@using System.Linq;

@model CSDDashboard.TempClasses.ChartListObjects
@{
var XLabels = Newtonsoft.Json.JsonConvert.SerializeObject(Model.TotalReqStatus.Select(i => i.DimensionOne).ToList());
    var YValues = Newtonsoft.Json.JsonConvert.SerializeObject(Model.TotalReqStatus.Select(i => i.Quantity).ToList());
    ViewData["Title"] = "Pie Chart";
}

@{
    var XLabels1 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedTimeAvg.Select(i => i.DimensionOne).ToList());
    var YValues1 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedTimeAvg.Select(i => i.Quantity).ToList());
    ViewData["Title"] = "Line Chart";
}

@{
    var XLabels2 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedPercent.Select(i => i.DimensionOne).ToList());
    var YValues2 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedPercent.Select(i => i.Quantity).ToList());
    ViewData["Title"] = "Line Chart";
}

@{
    var XLabels3 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedApiToApplicantAvg.Select(i => i.DimensionOne).ToList());
    var YValues3 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedApiToApplicantAvg.Select(i => i.Quantity).ToList());
    ViewData["Title"] = "Line Chart";
}
<!DOCTYPE html>

<html>
<title>W3.CSS Template</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
    html, body, h1, h2, h3, h4, h5 {
        font-family: "Raleway", sans-serif
    }
</style>

<head>
    <meta name="viewport" content="width=device-width" />
    <title>Charts</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>

<body>
<div class="container">
        <div class="row">
            <div class="col">
                <!-- cell 1 -->
                <div class="w3-quarter">
                    <div class="w3-container w3-red w3-padding-16">
                        <div class="w3-left">class="fa fa-comment w3-xxxlarge"></div>
                        <div class="w3-right">
                            <h3>@ViewBag.TotalApplicantCount</h3>
                        </div>
                        <div class="w3-clear"></div>
                        <h4>Total Applicant Count</h4>
                    </div>
                </div>
                <!-- cell 2 -->
            </div>
            <div class="col">
                <div class="w3-quarter">
                    <div class="w3-container w3-teal w3-padding-16">
                        <div class="w3-left">^__i class="fa fa-share-alt w3-xxxlarge"></div>
                        <div class="w3-right">
                            <h3>@ViewBag.grantedCount</h3>
                        </div>
                        <div class="w3-clear"></div>
                        <h4>Granted Application</h4>
                    </div>
                </div>
                <!-- cell 3 -->
            </div>
            <div class="col-5" >@*style="width:30%">*@
                <!-- pie chart -->
                <script type="text/javascript">

                $(function () {
            var chartName = "chart";
                var ctx = document.getElementById(chartName).getContext('2d');
                var data = {
                        labels: @Html.Raw(XLabels),
                        datasets: [{
                            label: "Drinks Chart",
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            borderWidth: 1,
                            data: @Html.Raw(YValues)
            }]
                    };

        var options = {
                        maintainAspectRatio: false,
                        scales: {
                            yAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: true,
                                    color: "rgba(255,99,164,0.2)"
                                }
        }],
                            xAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: false
                                }
                            }]
                        }
                    };

               var myChart = new  Chart(ctx, {
                        options: options,
                        data: data,
                        type:'pie'

                    });
                });
                </script>
                <!--cell 4 row 1-->
            </div>
        </div>
        <div class="row">
            <div class="col">
                <!-- line chart -->
                <script type="text/javascript">

                $(function () {
            var chartName = "chart";
                var ctx = document.getElementById(chartName).getContext('2d');
                var data = {
                        labels: @Html.Raw(XLabels1),
                        datasets: [{
                            label: "Countries Chart",
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            borderWidth: 1,
                            data: @Html.Raw(YValues1)
            }]
                    };

        var options = {
                        maintainAspectRatio: false,
                        scales: {
                            yAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: true,
                                    color: "rgba(255,99,164,0.2)"
                                }
        }],
                            xAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: false
                                }
                            }]
                        }
                    };

               var myChart = new  Chart(ctx, {
                        options: options,
                        data: data,
                        type:'line'

                    });
                });
                </script>
                <!--cell 1 row 2-->
            </div>
            <div class="col">
                <!-- line chart -->
                <script type="text/javascript">

                $(function () {
            var chartName = "chart";
                var ctx = document.getElementById(chartName).getContext('2d');
                var data = {
                        labels: @Html.Raw(XLabels2),
                        datasets: [{
                            label: "Countries Chart",
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            borderWidth: 1,
                            data: @Html.Raw(YValues2)
            }]
                    };

        var options = {
                        maintainAspectRatio: false,
                        scales: {
                            yAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: true,
                                    color: "rgba(255,99,164,0.2)"
                                }
        }],
                            xAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: false
                                }
                            }]
                        }
                    };

               var myChart = new  Chart(ctx, {
                        options: options,
                        data: data,
                        type:'line'

                    });
                });
                </script>
                <!--cell2 row 2-->
            </div>


            <div class="col">
                <!-- line chart -->
                <script type="text/javascript">

                $(function () {
            var chartName = "chart";
                var ctx = document.getElementById(chartName).getContext('2d');
                var data = {
                        labels: @Html.Raw(XLabels3),
                        datasets: [{
                            label: "Countries Chart",
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            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)',
                                'rgba(255, 0, 0)',
                                'rgba(0, 255, 0)',
                                'rgba(0, 0, 255)',
                                'rgba(192, 192, 192)',
                                'rgba(255, 255, 0)',
                                'rgba(255, 0, 255)'
                            ],
                            borderWidth: 1,
                            data: @Html.Raw(YValues3)
            }]
                    };

        var options = {
                        maintainAspectRatio: false,
                        scales: {
                            yAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: true,
                                    color: "rgba(255,99,164,0.2)"
                                }
        }],
                            xAxes: [{
                                ticks: {
                                    min: 0,
                                    beginAtZero: true
                                },
                                gridLines: {
                                    display: false
                                }
                            }]
                        }
                    };

               var myChart = new  Chart(ctx, {
                        options: options,
                        data: data,
                        type:'line'

                    });
                });
                </script>
                <!--cell3 row3-->
            </div>
       </div>
    </div>
</body>
</html>
Posted
Updated 30-May-20 10:27am
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900