質問
特定行の色を変えたい(FlexGrid)
- 投稿日時:2007/08/01 22:55

VB2005環境にてFlexGridを使用しています。
ある列のセルの値が1になったら、その行の背景色を灰色にしたいと
思っているのですが、その方法についてご教授ください。
おそらくは値が変わった時に何かイベントを取得できると思うので、
その時に例えば左から2列めの該当セルが1にされたら、色を変える…
というような考え方で良いでしょうか?
ただ、それを実現するためのイベントが何か、また、行の値を
変える方法がわからず困っています。
(ROWプロパティでしょうか?)
申し訳ないのですが、サンプルコードを交えて教えていただけ
ないでしょうか?
よろしくお願いします。
回答 (1件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.1ベストアンサー20pt
- 回答日時:2007/08/02 08:53
VB6の頃の FlexGridってことでしょうか?
セルのデータを変更しても それを検知できるイベントはありません
やるとすればEnterイベント(VB6風ならGotfocusイベント)やLeaveCellイベントで
カレントセルの列番号、値を調べて条件に一致したならCellBackColorで色を変更といった具合でしょう
LeaveCellイベントでやる場合は 再帰を不可にする工夫が必要です
dim n as integer
' 元に戻すための色を設定
dim cl as Drawing.Color = axMSFlexGrid1.BackColor
if axMSFlexGrid1.Text = "1" then
' 希望の色に変更してください
cl = Color.Red
end if
' 左から2番目の列がカレントセルなら
' FixedColsを考慮したほうがいいでしょう
if axMSFlexGrid1.Col = 1 then
' 行の先頭から末尾までセルの背景色を変更
for n = axMSFlexGrid1.FixedCols to axMSFlexGrid1.Cols-1
axMSFlexGrid1.CellBackColor = cl
next
' 元選択されていた列に戻す
axMSFlexGrid1.Col = 1
end if
といった具合でしょう ...
行番号は Rowプロパティで取得できますよ
この回答へのお礼
詳しいVerを書き忘れていました。
Flex Grid For.NET 3.0Jです。
しかし、redfox63さんの提示してくれたコードを参考に、
目的の動作を実現することができました。
ありがとうございました。
このQ&Aを見た人はこんなQ&Aも見ています
- 4MSFlexGridのデータ表示位置の設定
- 5SQLserverでのUPDATE文について
- 6FlexGridで複数選択したセル、行、列を取得
- 7FlexGridの選択されたセル内の文字色を変える方法
- 8MAX値を条件にデータを取得するには?
- 9MSFlexGridでデータの追加の方法は?
- 10他言語で言うcontinue文
- 11DataTableから条件を満たした行を別のDatatableへコピーしたい
- 12MSFlexGridのセルをチェックボックスにしたい。
- 13データセットのレコード更新がしたい
- 14VB.NETのコンボボックスについて
- 15MSFlexGridのスクロールバー位置
- 16VB6でユーザー定義型がNothingかどうか調べるには?
- 17VBの画面サイズについて
- 18閉じるボタンについて...
- 19FlexGridで文字色を変更。
- 20偶数/奇数の判定
注目の記事
ストレスをふっとばす!五月病撃退法
コレって五月病?治療するにはどうすればいいの?連休明けに気をつけたい五月病の撃退法を教えます!
このQ&Aを見た人がよく見るQ&A
このカテゴリで人気のQ&Aランキング
- 4Sub ***( ) と Private Sub ***( ) ...
- 5他言語で言うcontinue文
- 6VB上で実行中の無限ループの止め方
- 7VBA オブジェクトが空かどうか判定する
- 8EXCELのVBAでRange("A1:C4")を変数...
- 9TextBoxに半角数字のみの入力しかで...
- 10VBAで別エクセルファイルから指定エ...
- 11VBAにて新規ブックへ既存シート...
- 12Exel VBA 別ブックから該当データ...
- 13DataGridViewで、選択した行の値を...
- 14ファイル読み込み時のエラー回避
- 15定数配列の書き方
- 16保存先のフォルダ名を指定したいとき
- 17CloseとDisposeの違い
- 18DoEvents関数って何?
- 19動的配列が存在(要素が有る)か否か...
- 20エクセルで最大列を増やす





