2016-08-22 17 views
0

これに関する検索では、フォーマット、セルペイント、またはデータバインドされたイベントのいずれであっても、datagridviewセルの色を設定する方法しか示されていません。セルペインティングイベントによって設定されたDataGridviewのセルの色の値にアクセスするargs

私は現在cellpaintingイベントでのDataGridViewイベント引数を通じてcellstyle.backcolorを設定しているで動作するようにしようとしているコード:これは動作します

Private Sub dgvAncientCode_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles dgvResults.CellPainting 
    If dgvAncientCode.Columns(e.ColumnIndex).Name = "Blah" Then 
    e.CellStyle.BackColor = Color.Red 
    End If 

- 指定されたセルは赤で表示しますしかし、コードのどこかでこの値にアクセスするにはどうすればよいですか?私がcell.styleをチェックすると、デフォルトに設定されていますが、画面には赤で表示されます。

私はこのコードに間違いがあることを知っていますが、私はまだ比較的新しいので、あなたが考えることができるすべての最悪の練習で構成されている多くの遺産をサポートしています。私は後でこの値にアクセスできるe.CellStyle.BackColorの代わりにcell.style.backcolorを設定して回避策を考え出しましたが、元のコードで何が起きているのかを理解しようとしています。私は何か重要なことを逃しているかもしれないことを知っているので、なぜ、理解せずに物事を動作させることは嫌いです。

これが明確でない場合や、以前に尋ねられた場合は、お詫び申し上げます。私はここや他の場所で数時間を探しましたので、うまくいけばそれを見逃しませんでした。

追加情報の編集:ループごとにaを使用して、データグリッドビューを反復するボタンクリックイベントがあります。これは、カスタムExcelエクスポートクラスのセルの色を設定するために使用されています。これは、フォーム内で赤で表示されていても、datagridviewのセルのどれもがcell.style.backcolorプロパティの値を持たなかったために機能しませんでした。セルがフォームに赤色で表示されていれば、何とかそれにアクセスできるはずです。少なくとも、私はそうすべきだと思います。

+0

'この値はコードのどこか他の場所にはどうやってアクセスできますか?本当の質問はこの値を得るために何をしたいのですが、今は何も見えません...あなたは' CellStyle.BackColor'あなたが求めているのはそれですか?そうであれば、どのイベント/方法でこれを取得したいのですか?条件は何ですか?あなたに役立つ情報がたくさんあることが分かります。詳細をつけて質問を更新してください... – Codexer

+0

"赤"は他の何かの状態を示しているだけなので、列名は "他の場所"の色の代わりに使用してください。 – Plutonix

答えて

-1

このうちの1つを試してください。たぶんあなたを助けることができます。 "yourdatagrid.ControlStyle"、 "yourdatagrid.ItemStyle"。

+0

'DataGridView'には' ControlStyle'または 'ItemStyle'プロパティがありません。 – Blackwood

+0

私の悪いですが、DataGridViewは持っていませんが、DataGridはありません。 – DanielJr

関連する問題