chart.js如果没有数据,隐藏空图表并保留以前的数据.net MVC

chart.js Hide empty Chart and keep previous data if no data? .net MVC

本文关键字:数据 保留 net MVC 如果没有 js 隐藏 chart      更新时间:2023-09-26

我有一个图表,根据日期,数据会发生变化。问题当前日期是默认的,有时没有数据显示。chart.js是否可以检查当前图表中是否有数据,如果没有,则保留以前的数据。用DIV占位符等替换它。DataTable中也有相同的数据。写作条件还不是很好。

到目前为止我尝试过的东西:

if (sampleTable != null && sampleTable.rows.count > 0) {
    $("#labelDiv").hide();
}

if (parsedData.Item2 = null)
{
    $("#labelDiv").hide();
}

if (buyerData == null) {
    $("#labelDiv").hide();
}
chart
var buyerData = {
    labels: parsedData.Item2,
    datasets: [
        {
            label: "Lazi Chart",
            fillColor: "rgba(10,190,10,0.6)",
            strokeColor: "rgba(151,187,205,0.8)",
            highlightFill: "rgba(151,187,205,0.75)",
            highlightStroke: "rgba(151,187,205,1)",
            data: parsedData.Item3,
        }
    ]
}
barChartOptions.datasetFill = false;
barChart.Bar(barChartData, barChartOptions);

我想明白了。我检查对象是否为空,然后放置一个div,上面写着实验数据和假图表。任何帮助的Tnx。

if (parsedData.Item1 != "") {
       $("#labelDiv").hide();
       $("#buyers").show();
                }
                else {
                    $("#labelDiv").show();
                    $("#FakeData").show();
                    $("#buyers").hide();
                    var barData = {
                        labels: ['SaaS', 'Virtual Machines', 'Networking', 'Storage', 'Data Managment'],
                        datasets: [
                            {
                                label: '2010 customers #',
                                fillColor: '#382765',
                                data: [2500, 1902, 1041, 610, 1245]
                            },
                            {
                                label: '2014 customers #',
                                fillColor: '#7BC225',
                                data: [3104, 1689, 1318, 589, 1199]
                            }
                        ]
                    };
                    var context = document.getElementById('FakeData').getContext('2d');
    var clientsChart = new Chart(context).Bar(barData);

我不知道chart.js,但根据它的名字,我认为它是一个绘制图形的插件。

可能,它需要向它们提供数据,或者至少提供一个读取数据的端点,这样它就可以绘制一个表示这些数据的图。

现在。。。如果你有一个数据集合,或者一个检查数据的端点,那么检查这些数据并重定向你的代码执行会比在插件中尝试这样做更容易吗?

如果数据集合为空,或者您没有从端点获取数据,只需结束执行或将其返回到最后一个调用(如果需要,您可以预先存储)