0

別々のタブに 2 つの DataGridViews を含む TabControl があります。これらは両方とも、TabControl の外部にある 3 番目の DGV で選択された行の値に基づいて入力されます。

DGV の 1 つの左側の列を青で色付けしようとしていますが、その DGV を含むページが現在表示されていれば問題なく動作しています。現在表示されていない場合、色は変更されません。セルの色を変更するために使用しているコードは

foreach (DataGridViewRow row in this.dgvInformation.Rows)
{
    DataGridViewCellStyle blueStyle = new DataGridViewCellStyle();
    blueStyle.Font = new Font("Microsoft Sans Serif", 8.25F, FontStyle.Regular);
    blueStyle.BackColor = Color.LightBlue;
    row.Cells["InfoType"].Style = blueStyle;
}

コードをステップ実行しましたが、DGV が表示されているかどうかに関係なく同じパスを使用しますが、セルの色は表示されている場合にのみ変更されます。

現在表示されていない場合、DGV のセルの色を変更できない理由はありますか?

どうもありがとう

4

1 に答える 1

0

[ここで私自身の質問に答えたことをお詫びします - クレジットはシェーン CI に属します。未回答の質問を残すのは好きではありません!]

修正は、セルの色付けコードを DataGridView の VisibleChanged イベントに追加し、並べ替えが許可されている場合は Sorted イベントにも追加することです。

于 2012-11-28T15:29:20.900 に答える