Не удается обновить текущие графики в приложении Windows Form во время цикла - PullRequest
0 голосов
/ 07 января 2019

добрый день, Недавно я начал работать с живыми графиками, но у меня возникают проблемы с обновлением графика при каждом проходе цикла 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;            
            }

Диаграмма в ВПП обновляется только после завершения цикла, и вам необходимо обновлять ее при каждом проходе.

Можете ли вы дать мне направление?

...