0

アプリケーションの開発にC#.net4のdatagridviewを使用しています。アプリケーションの起動時に、datagridviewが完全に処理されず、アプリケーションがクラッシュしたか、アプリケーションを再起動する必要がある場合があります。

それを取り除くために必要な提案。「for」ループを使用して、データグリッド内にデータグリッドの列と行を作成しました。それが処理を遅らせる理由の1つかもしれません...

Datagridviewは完全には処理されません

     private void Create_Datatables()
       {
        ////////////////////  Create data tables, row and Columns in the Datagrids ////////////////////////////////

        DataTable[] Panel_tables = new DataTable[28];

        for (int i = 0; i <= 27; i++)
        {
            Panel_tables[i] = new DataTable();
        }

        int length_col = 16;

        for (int i = 1; i <= length_col; i++)
        {
            Panel_tables[0].Columns.Add(i.ToString());
        }

        int length_row = 2;
        for (int i = 1; i <= length_row; i++)
        {
            Panel_tables[0].Rows.Add("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
        }


        int dg_main = 23;
        for (int i = 0; i < dg_main; i++)
        {
            Panel_tables[i + 1] = Panel_tables[i].Copy();
        }

        dataGridView1.DataSource = Panel_tables[0];
        dataGridView2.DataSource = Panel_tables[1];
        dataGridView3.DataSource = Panel_tables[2];
        dataGridView4.DataSource = Panel_tables[3];
        dataGridView5.DataSource = Panel_tables[4];
        dataGridView6.DataSource = Panel_tables[5];
        dataGridView7.DataSource = Panel_tables[6];
        dataGridView8.DataSource = Panel_tables[7];
        dataGridView9.DataSource = Panel_tables[8];
        dataGridView10.DataSource = Panel_tables[9];
        dataGridView11.DataSource = Panel_tables[10];
        dataGridView12.DataSource = Panel_tables[11];
        dataGridView13.DataSource = Panel_tables[12];
        dataGridView14.DataSource = Panel_tables[13];
        dataGridView15.DataSource = Panel_tables[14];
        dataGridView16.DataSource = Panel_tables[15];
        dataGridView17.DataSource = Panel_tables[16];
        dataGridView18.DataSource = Panel_tables[17];
        dataGridView19.DataSource = Panel_tables[18];
        dataGridView20.DataSource = Panel_tables[19];
        dataGridView21.DataSource = Panel_tables[20];
        dataGridView22.DataSource = Panel_tables[21];
        dataGridView23.DataSource = Panel_tables[22];
        dataGridView24.DataSource = Panel_tables[23];


        for (int i = 0; i < length_col; i++)
        {
            Panel_tables[24].Columns.Add(i.ToString());
        }

        length_row = 3;

        for (int i = 0; i < length_row; i++)
        {
            Panel_tables[24].Rows.Add("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
        }


        int dg_xio = 27;

        for (int i = 24; i < dg_xio; i++)
        {
            Panel_tables[i + 1] = Panel_tables[i].Copy();
        }

        dataGridView25.DataSource = Panel_tables[24];
        dataGridView26.DataSource = Panel_tables[25];
        dataGridView27.DataSource = Panel_tables[26];
        dataGridView28.DataSource = Panel_tables[27];

    }
4

1 に答える 1

1

ローカル変数の値を使用してファイルにログインし、変数が原因でグリッドのいずれかが例外をスローしていないかどうかを確認してください。

この構成でlog4netを使用できます

<log4net>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="C:\Try\log.txt" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />
      </layout>
    </appender>

  </log4net>
于 2012-11-12T15:49:24.473 に答える