使用实时图表添加随后的X轴上的几个月


 private int SumOfNodes()
    {
        ManufacturingDataModel MDM = new ManufacturingDataModel();
        Test t = new Test(MDM);
        List<Hardware> SumOfHardware = t.GetHardware().FindAll(x => x.Nodes != 0);
        int SumOfNodes = 0;
        foreach (Hardware i in SumOfHardware )
        {
            SumOfNodes += i.Nodes;
        }
        return SumOfNodes;
    }

    private int SumOfRepeaters()
    {
        ManufacturingDataModel MDM = new ManufacturingDataModel();
        Test t = new Test(MDM);
        List<Hardware> SumOfHardware = t.GetHardware().FindAll(x => x.Repeaters != 0);
        int SumOfRepeaters = 0;
        foreach (Hardware i in SumOfHardware)
        {
            SumOfRepeaters += i.Repeaters;
        }
        return SumOfRepeaters;
    }
    private int SumOfHubs()
    {
        ManufacturingDataModel MDM = new ManufacturingDataModel();
        Test t = new Test(MDM);
        List<Hardware> SumOfHardware = t.GetHardware().FindAll(x => x.Hubs != 0);
        int SumOfHubs= 0;
        foreach (Hardware i in SumOfHardware)
        {
            SumOfHubs += i.Hubs;
        }
        return SumOfHubs;
    }
    private string Month()
    {
        DateTime now = DateTime.Now;
        string month = DateTime.Now.ToString("MMMM");
        return month;
    }
    private void DisplayData()
    {
        SeriesCollection = new SeriesCollection
        {
            new ColumnSeries
                {
                      Title = "Nodes",
                      Values = new ChartValues<int> { SumOfNodes() }
                },

        };
        SeriesCollection.Add
        (
            new ColumnSeries
            {
                Title = "Repeaters",
                Values = new ChartValues<int> { SumOfRepeaters() }
            }
        );
        SeriesCollection.Add
       (
           new ColumnSeries
           { 
               Title = "Hubs",
               Values = new ChartValues<int> { SumOfHubs() }
           }
       );

        Labels = new[] { Month() };
        Formatter = value => value.ToString("N");
        DataContext = this;
    }

在此处输入图像描述

在这一点上,我设法创建了一个应用程序,可以在数据库中添加/删除和更新我的项目。我还计划添加一些统计数据(从图形可视化开始),但我正在面临问题。我想根据几个月分开列。因此,例如,不管我添加,删除或更新每个项目的总金额的图像所见,将添加到Decemeber中。但是,当一月到来时,我想看到的物品的数量有任何新添加的修改,我希望与Decemeber相邻。P.S。:有很多代码重新定位,该代码将在稍后征收。

我已经设法将一些内容放在上面的答案上,这对将来对某人很有用我做的是1)从DB中获取我的数据。2)使用LINQ查询找到感兴趣的月份**

  • 而不是选择项目(即中继器,节点)

**3)这样做也可以说明我在兴趣月期间感兴趣的项目。4)按照我上面的代码所示,请进行增量for循环。5)更改我要显示的方法D(即DisplayData到DisplayDecemberData),并以与上述相同的方式使用。6)在随后的几个月中创建进一步的方法,只需在ChartValues对象中添加其他信息。

请参见下面的

private int DecemberNodes()
    {
        ManufacturingDataModel MDM = new ManufacturingDataModel();
        Test t = new Test(MDM);
        List<Hardware> decembernodes = t.GetHardware().FindAll(x => x.Date.Month==12);
        int DecemberSumOfNodes = 0;
        foreach (Hardware i in decembernodes)
        {
            DecemberSumOfNodes += i.Nodes;
        }
        return DecemberSumOfNodes;
    }

    private int JanuaryNodes()
    {
        ManufacturingDataModel MDM = new ManufacturingDataModel();
        Test t = new Test(MDM);
        List<Hardware> januarynodes = t.GetHardware().FindAll(x => x.Date.Month==01);
        int JanuarySumOfNodes = 0;
        foreach (Hardware i in januarynodes)
        {
            JanuarySumOfNodes += i.Nodes;
        }

     private void DisplayDecemberData()
    {
        SeriesCollection = new SeriesCollection
        {
            new ColumnSeries
                {
                      Title = "Nodes",
                      Values = new ChartValues<int> { DecemberNodes()  }
                },

        };

     private void DisplayJanuaryData()
    {
        SeriesCollection = new SeriesCollection
        {
            new ColumnSeries
                {
                      Title = "Nodes",
                      **Values = new ChartValues<int> { DecemberNodes(),  JanuaryNodes()  }**
                },

        };

有一些代码重复,我敢肯定,实际上有更多代码简洁的方法,但是现在这似乎可以解决问题。当我简化代码时,我将发布它。

相关内容

  • 没有找到相关文章

最新更新