質問

4つの列のDatagridViewがあります。最初の3つは、レッド、グリーン、ブルーの配列として返されます。すべての値は0〜255です。「Color」という列をプログラムで追加しました。この列のバックカラーがRGBコンテンツを反映したいと思います。 RGBデータを正しく見ることができます。デバッガーを使用して、バックカラーはプロパティに対して正しく設定されています。また、列のバックカラーを設定することもでき、正しく表示されます。 「赤」セルのバックカラーを設定しようとしましたが、これも機能しません。

以下のコードは、完全に白い列になります。

これが私のコードです:

        DataGridViewColumn DGC = new DataGridViewColumn();
        DGC.Name = "Colour";
        DGC.CellTemplate = new DataGridViewTextBoxCell();
        dgPallette.Columns.Add(DGC);
        foreach (DataGridViewRow DGR in dgPallette.Rows)
        {
            Color cellColor = Color.FromArgb(
                int.Parse(DGR.Cells["Red"].Value.ToString()), 
                int.Parse(DGR.Cells["Green"].Value.ToString()), 
                int.Parse(DGR.Cells["Blue"].Value.ToString()));
            DGR.Cells["Colour"].Style.BackColor = cellColor;
        }

何か案は?

よろしくお願いします。ジム

役に立ちましたか?

解決

DatagridViewの設定色が期待どおりに機能しないことがわかり、使用することに頼ることがあります。 datagridview.cellformatting イベント - これは常にトリックを行い、頭をつかむのはかなり簡単です。

多くの場合、グリッドがDataSourceにバインドされている場合、特に並べ替えを許可する場合に問題が発生します。このイベントはそれを克服します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top