VB6.0を使っています。データグリッドってレコードセレクタ(右の灰色の部分)をクリックすると選択された行が反転表示になりますが、データグリッドの表の部分をクリックしても、クリックされた行全体を同様に反転させることはできないのでしょうか?
望む結果と同じかどうかはわかりませんが、RowColChangeイベントにて
With DataGrid1.SelBookmarks
Do Until .Count = 0
.Remove 0
Loop
.Add DataGrid1.Bookmark
End With
のようなコードを書いておくとか。
魔界の仮面弁士さま返信ありがとうございます。上のソースを組み込んでみたのですが、全く何も起こりません。これはどういう処理なのですか?私がやりたいのは
選択したある1行全体を反転表示(ハイライト表示)させることです。
> レコードセレクタ(右の灰色の部分)
右の余白部分のことですか?
(レコードセレクタって、左にありますよね)
> 上のソースを組み込んでみたのですが、全く何も起こりません。
あれ、当方で動いていたコードをそのまま貼ってみたのですけれど。
何か設定が違うのかな…。
こちらで試した時には、DataGrid1のDataSource/DataMemberを
デザイン時に割り当てただけで、それ以外のDataGridのプロパティは、
一切修正していない状態です。
(データソースには、VB6付属のNWIND.MDB の Ordersテーブルを使いました)
> これはどういう処理なのですか?
現在の行(レコードセレクタに右向きの▲が付いている行)全体を
反転表示させるためのコードです。下記の応用ですね。
http://support.microsoft.com/default.aspx?scid=kb;ja;195472
ここでは、この処理をRowColChangeイベントに組み込んでいますので、
(矢印キーやマウスなどによって)「選択しているセルが変更された時」に
SelBookmarksプロパティの更新を行っています。
魔界の仮面弁士 さま
さきほどは組み込んでもうまくいかなかったのですが、再度やってみますとばっちりうまくいきました。1度目はなぜうまくいかなかったのかは謎ですが・・・。
なにはともあれ、ありがとうございました。魔界の仮面弁士 さまには以前からお世話になっているのですがわたしがちょくちょく名前を変えているのでご存知ないでしょうね。これからは田原俊彦でいきますんでよろしくお願い致します。
ツイート | ![]() |