none
Loop demorado RRS feed

  • Pergunta

  • Olá pessoal eu tenho o seguinte problema.
    Preciso preencher uma coluna de um GridView em WindowsForms na linguagem C#, porém está demorando 5 minutos para preencher apenas uma coluna o código é este :
     
    string valor = txtCodMunicipio.Text.Trim();
                if (valor == String.Empty)
                    return;
                bloqueiaCampos();
                if (gridDados.RowCount > 0)
                    for (int i = 0; i < gridDados.RowCount - 1; i++)
                        gridDados.Rows[i].Cells[6].Value = valor;
                    
                desbloqueiaCampos(); 

    Alguma ideia do que pode estar acontecendo pela demora?
    quarta-feira, 12 de junho de 2013 15:53

Respostas

  • Só olhando o código assim fica difícil, mas aqui vão algumas dicas:

    * Considere o uso de um profiler.

    * Procure desabilitar qualquer coisa "automática" do grid como o AutoSizeMode

    * Supondo que o grid seja bem grande, considere paginar para reduzir a quantidade de linhas mostradas.

    quarta-feira, 12 de junho de 2013 18:53

Todas as Respostas

  • Só olhando o código assim fica difícil, mas aqui vão algumas dicas:

    * Considere o uso de um profiler.

    * Procure desabilitar qualquer coisa "automática" do grid como o AutoSizeMode

    * Supondo que o grid seja bem grande, considere paginar para reduzir a quantidade de linhas mostradas.

    quarta-feira, 12 de junho de 2013 18:53
  • desculpe a ignorância mas o que seria Profiler?
    quarta-feira, 12 de junho de 2013 18:59
  • É um programa de diagnóstico. Basicamente você roda o teu sistema "dentro" de um profiler, então ele gera estatísticas de consumo de memória e uso de processamento. O link que eu postei é o profiler da jetbrains (pago). O visual studio tem alguma coisa a também.

    quarta-feira, 12 de junho de 2013 19:04
  • agora funcionou era AutoSizeMode que eu apliquei em todas as colunas para ajustar melhor o grid,

    obrigado Luciano

    quarta-feira, 12 de junho de 2013 19:09
  • Qual é a quantidade de linhas? Qual é o valor de gridDados.RowCount ?

    Se for 1 milhao, entao é demorado mesmo...

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    Sogi informatique ltée

    quinta-feira, 13 de junho de 2013 13:59
    Moderador