データグリッドで反転表示の制御について

解決


田原俊彦  2005-01-06 17:26:31  No: 87660

VB6.0を使っています。データグリッドってレコードセレクタ(右の灰色の部分)をクリックすると選択された行が反転表示になりますが、データグリッドの表の部分をクリックしても、クリックされた行全体を同様に反転させることはできないのでしょうか?


魔界の仮面弁士  2005-01-06 19:32:54  No: 87661

望む結果と同じかどうかはわかりませんが、RowColChangeイベントにて

    With DataGrid1.SelBookmarks
        Do Until .Count = 0
            .Remove 0
        Loop
        .Add DataGrid1.Bookmark
    End With

のようなコードを書いておくとか。


俊彦田原  2005-01-06 22:41:52  No: 87662

魔界の仮面弁士さま返信ありがとうございます。上のソースを組み込んでみたのですが、全く何も起こりません。これはどういう処理なのですか?私がやりたいのは
選択したある1行全体を反転表示(ハイライト表示)させることです。


魔界の仮面弁士  2005-01-06 23:33:42  No: 87663

> レコードセレクタ(右の灰色の部分)
右の余白部分のことですか?
(レコードセレクタって、左にありますよね)

> 上のソースを組み込んでみたのですが、全く何も起こりません。
あれ、当方で動いていたコードをそのまま貼ってみたのですけれど。
何か設定が違うのかな…。

こちらで試した時には、DataGrid1のDataSource/DataMemberを
デザイン時に割り当てただけで、それ以外のDataGridのプロパティは、
一切修正していない状態です。
(データソースには、VB6付属のNWIND.MDB の Ordersテーブルを使いました)

> これはどういう処理なのですか?
現在の行(レコードセレクタに右向きの▲が付いている行)全体を
反転表示させるためのコードです。下記の応用ですね。
http://support.microsoft.com/default.aspx?scid=kb;ja;195472

ここでは、この処理をRowColChangeイベントに組み込んでいますので、
(矢印キーやマウスなどによって)「選択しているセルが変更された時」に
SelBookmarksプロパティの更新を行っています。


田原俊彦(としちゃん)  2005-01-07 00:03:26  No: 87664

魔界の仮面弁士 さま
さきほどは組み込んでもうまくいかなかったのですが、再度やってみますとばっちりうまくいきました。1度目はなぜうまくいかなかったのかは謎ですが・・・。
なにはともあれ、ありがとうございました。魔界の仮面弁士 さまには以前からお世話になっているのですがわたしがちょくちょく名前を変えているのでご存知ないでしょうね。これからは田原俊彦でいきますんでよろしくお願い致します。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加