- - PR -
DataGridView行選択時の色変更をしない
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-01-19 21:45
Windows Xp, VB2005で開発中です。
DataGridViewに関してなのですが、 DataGridViewの行を選択したときに色がつかないようにする方法を教えてください。 自分なりに調べたところ 一番近いのが選択したときの背景色をTransparentにするのがいいと 思い、設定したところDataGridViewの下に 表示されているものが透けるだけでした。。。 | ||||
|
投稿日時: 2007-01-19 22:22
ダッチです。
色がつかないとはどういうことなのでしょうか。 色の変化が無いようにということであれば、選択前の色と同じ色を選択色に設定すればいいと思います。 | ||||
|
投稿日時: 2007-01-19 23:40
DataGridViewなのですが、セルの状態にあわせて、
赤・青・黄色になるように設定しております。 そのため、選択したとき通常ですと 何も設定していない行のセルはDefaultCellStyle.BackColorが 選択された行にはDefaultCellStyle.SelectionBackColorが適応されると思うのですが、 セルを選択すると赤・青・黄色で指定してあるセルが 一気にDefaultCellStyle.SelectionBackColorの色に変わってしまいます。 それを変わらないような設定はないのかと思ったしだいであります。 | ||||
|
投稿日時: 2007-01-20 10:28
そこで、「選択されたときはこの色」って、指定しているのでは? _________________ | ||||
|
投稿日時: 2007-01-20 14:09
>そこで、「選択されたときはこの色」って、指定しているのでは?
おっしゃるとおりDefaultCellStyle.SelectionBackColor の指定をしております。 ただ指定はしたくないのですが、そこの値を設定せずに して、そのあと、DataGridViewのDefaultCellStyle.SelectionBackColor を開くと以前まで設定していた値に自動的に設定されてしまいます。 なので、設定しないようにはできないと感じたのですが。。。 | ||||
|
投稿日時: 2007-01-20 14:54
セルの色を、セルの内容によって変更している、と、理解したのですが、違うのでしょうか。 そうであるなら、「選択されているか」という判定を併せてしているのでは?と、思いました。 _________________ | ||||
|
投稿日時: 2007-01-20 15:33
説明をいまいち理解できていないので外しているかも知れませんが、
特定のセルの背景色を変えたいのなら、DefaultCellStyleではなく、 そのセル(DataGridViewCell)のBackColor, SelectionBackColorを 設定すべきではないでしょうか? 実際、BackColorとSelectionBackColorを共に黄色に設定したセルを含む行を 選択しても、他の列のセルは変わりましたが、そのセルの色は黄色のまま変化しませんでした。 | ||||
|
投稿日時: 2007-01-20 23:10
自分の説明がうまくできず申し訳ありませんでした。
@処理の流れとしてはDBにアクセスしその内容をDataGridViewにバインド A@のDataGridViewの各セルの値に対して(1-3の値が入る) 1→red 2→yellow 3→green を設定 これで処理自体は終了です。 この時点でDefaultCellStyle.BackColor の値は確かに設定はされませんでした。 ただその後で、行を選択すると DefaultCellStyle.SelectionBackColor の値に行が設定されてしまいました。 これをされないようにしたいのですが。 これでご理解していただけたでしょうか。 度々お手数をお掛けし、申し訳ありませんでした。 |