循环期间无法更新Windows Form应用程序中的实时图表

时间:2019-01-07 19:06:44

标签: c# livecharts

下午好, 我最近开始使用Live Charts,但是在For循环的每一遍都无法更新图表。

这是我的代码:

public void botCsaDesbloqueioRS()
        {   
                #region [6] TRABALHO PRINCIPAL DO ROBÔ

                    for (int i = 0; i < dtRobo.Rows.Count; i++)
                    {
                        #region [] ATUALIZA STATUS DOS GRÁFICOS
                        mtdMakeChartGauge(dtRobo);
                        #endregion

                        string cBussKey = dtRobo.Rows[i][0].ToString();
                        string cSituacao = dtRobo.Rows[i][1].ToString();
                        string cUfOrigem = dtRobo.Rows[i][2].ToString();
                        string cMotReqProc = dtRobo.Rows[i][3].ToString();
                        string cChassi = dtRobo.Rows[i][4].ToString();
                        string cEmailAf = dtRobo.Rows[i][5].ToString();
                        string cSpd = dtRobo.Rows[i][6].ToString();
                        string cModIndeferido = dtRobo.Rows[i][7].ToString();
                        string cDocFaltante = dtRobo.Rows[i][8].ToString();
                        string cDtExecRobo = dtRobo.Rows[i][9].ToString();
                        string cResultRobo = dtRobo.Rows[i][10].ToString();
                        string cTempoExecRobo = dtRobo.Rows[i][11].ToString();                          

                        #region [] UPDATE DATATABLE
                        dtRobo.Rows[i][9] = dtExecRobo;
                        dtRobo.Rows[i][10] = resultRobo;
                        dtRobo.Rows[i][11] = cronoOut;
                        #endregion

                        #region [] ATUALIZA STATUS DOS GRÁFICOS
                        mtdMakeChartGauge(dtRobo);
                        #endregion    
                    }
            }

public void mtdMakeChartGauge(DataTable argDtTable)
            {
                int valueChartToDo = mtdGetChartValueToDo(argDtTable, "RESULTADO_ROBO");
                int valueChartDone = mtdGetChartValueDone(argDtTable, "RESULTADO_ROBO");
                int valueChartTotal = mtdGetChartValueTotal(argDtTable, "RESULTADO_ROBO");

                //standard gauge           
                chrtVolTotal.From = 0;
                chrtVolTotal.To = valueChartTotal;
                chrtVolTotal.Value = valueChartDone;            
            }

仅在循环结束后才更新WFP中的图表,您需要在每次通过后进行更新。

你能给我个方向吗?

0 个答案:

没有答案