Morris是动态的ykeys

时间:2015-07-12 14:46:55

标签: javascript c# asp.net-mvc entity-framework morris.js

我正在建立一个图表来跟踪我的产品库存,一个月我剩下多少。我正在尝试从当月建立一个12个月的预计库存。

我想试试Morris.js。在那里demoabykeys。我认为那些是产品。如果您可以控制产品列表,它的效果很好。但是如果您的用户添加了新产品该怎么办?比如说,产品cde。如果没有硬编码,你打算如何在图表中使用这些产品?

我正在使用asp.net mvc 5,EF 4 Code-first。我无法理解如何实现它。任何帮助将非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您可以提供为ykeys属性动态获取的值数组。如何获取此数组取决于您,但有一种可能性是通过Ajax请求。请考虑以下事项:

var request = $.ajax({
   url: getGraphDataUrl,
   type: "GET",
   statusCode: {
        200: function (msg) {
            if(typeof msg != 'undefined' && msg.length > 0) {
                msg = JSON.parse(msg);
                Morris.Line({
                    element: 'line-example',
                    data: msg.data,
                    xkey: 'y',
                    ykeys: msg.ykeys,
                    labels: msg.labels
                });
            }
        }
    });

显然,这是一个非常简单的例子。如您所见,许多属性可以通过Ajax请求作为JSON获取。当然,您必须编写将形成JSON响应的服务器端代码,但我认为这超出了本问题的范围。