- PR -

DataGridView行選択時の色変更をしない

投稿者投稿内容
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2007-01-19 21:45
Windows Xp, VB2005で開発中です。

DataGridViewに関してなのですが、
DataGridViewの行を選択したときに色がつかないようにする方法を教えてください。

自分なりに調べたところ
一番近いのが選択したときの背景色をTransparentにするのがいいと
思い、設定したところDataGridViewの下に
表示されているものが透けるだけでした。。。


ダッチ
大ベテラン
会議室デビュー日: 2005/10/31
投稿数: 113
投稿日時: 2007-01-19 22:22
ダッチです。

引用:

BBさんの書き込み (2007-01-19 21:45) より:

DataGridViewの行を選択したときに色がつかないようにする方法を教えてください。


色がつかないとはどういうことなのでしょうか。
色の変化が無いようにということであれば、選択前の色と同じ色を選択色に設定すればいいと思います。
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2007-01-19 23:40
DataGridViewなのですが、セルの状態にあわせて、
赤・青・黄色になるように設定しております。

そのため、選択したとき通常ですと
何も設定していない行のセルはDefaultCellStyle.BackColorが
選択された行にはDefaultCellStyle.SelectionBackColorが適応されると思うのですが、
セルを選択すると赤・青・黄色で指定してあるセルが
一気にDefaultCellStyle.SelectionBackColorの色に変わってしまいます。

それを変わらないような設定はないのかと思ったしだいであります。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-01-20 10:28
引用:

BBさんの書き込み (2007-01-19 23:40) より:
DataGridViewなのですが、セルの状態にあわせて、
赤・青・黄色になるように設定しております。


そこで、「選択されたときはこの色」って、指定しているのでは?
_________________
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2007-01-20 14:09
>そこで、「選択されたときはこの色」って、指定しているのでは?
おっしゃるとおりDefaultCellStyle.SelectionBackColor
の指定をしております。
ただ指定はしたくないのですが、そこの値を設定せずに
して、そのあと、DataGridViewのDefaultCellStyle.SelectionBackColor
を開くと以前まで設定していた値に自動的に設定されてしまいます。

なので、設定しないようにはできないと感じたのですが。。。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-01-20 14:54
引用:

BBさんの書き込み (2007-01-20 14:09) より:
>そこで、「選択されたときはこの色」って、指定しているのでは?
おっしゃるとおりDefaultCellStyle.SelectionBackColor
の指定をしております。
ただ指定はしたくないのですが、そこの値を設定せずに
して、そのあと、DataGridViewのDefaultCellStyle.SelectionBackColor
を開くと以前まで設定していた値に自動的に設定されてしまいます。

なので、設定しないようにはできないと感じたのですが。。。

あれ?
セルの色を、セルの内容によって変更している、と、理解したのですが、違うのでしょうか。

そうであるなら、「選択されているか」という判定を併せてしているのでは?と、思いました。
_________________
KI
大ベテラン
会議室デビュー日: 2007/01/10
投稿数: 239
投稿日時: 2007-01-20 15:33
説明をいまいち理解できていないので外しているかも知れませんが、
特定のセルの背景色を変えたいのなら、DefaultCellStyleではなく、
そのセル(DataGridViewCell)のBackColor, SelectionBackColorを
設定すべきではないでしょうか?

実際、BackColorとSelectionBackColorを共に黄色に設定したセルを含む行を
選択しても、他の列のセルは変わりましたが、そのセルの色は黄色のまま変化しませんでした。
BB
ベテラン
会議室デビュー日: 2005/05/08
投稿数: 52
投稿日時: 2007-01-20 23:10
自分の説明がうまくできず申し訳ありませんでした。

@処理の流れとしてはDBにアクセスしその内容をDataGridViewにバインド
A@のDataGridViewの各セルの値に対して(1-3の値が入る)
 1→red
 2→yellow
 3→green
 を設定

これで処理自体は終了です。

この時点でDefaultCellStyle.BackColor の値は確かに設定はされませんでした。
ただその後で、行を選択すると
DefaultCellStyle.SelectionBackColor の値に行が設定されてしまいました。
これをされないようにしたいのですが。


これでご理解していただけたでしょうか。
度々お手数をお掛けし、申し訳ありませんでした。

スキルアップ/キャリアアップ(JOB@IT)