DOBON.NET DOBON.NETプログラミング掲示板過去ログ

NO TITLE

分類:[.NET]

はじめまして。
.NETのグリッドコントロールについての質問なのですが、
リストボックスのように、一行のみ選択できるように制御をかけたいのですが
できるのでしょうか?

また、行選択のみなのでセルにカーソルは行ってほしくもないのです。

Dim ts1 As New DataGridTableStyle
ts1.MappingName = "ねこてーぶる"

Dim myDataCol As New MKIGYOU.MyDataGridTextBoxColumn
myDataCol.Width = 100
'myDataCol.TextBox.Enabled = False
myDataCol.TextBox.TabStop = False
myDataCol.HeaderText = "ねこの名前"
myDataCol.MappingName = "ねこ名"
ts1.GridColumnStyles.Add(myDataCol)
ts1.GridColumnStyles.Add(myDataCol2)
DataGrid.TableStyles.Add(ts1)

EnableをFalseにしてもカーソル移ってしまうし、ReadOnlyも違うらしいし・・。
ここのプロパティで設定できるのかな。ラベルコントロール貼り付けれればいいのかな?

みなさま、アドバイスお願いいたします。
  • 題名: Re[1]: 単一選択&行選択のみのGrid
  • 著者: ピラルク
  • 日時: 2003/09/11 21:39:01
  • ID: 637
  • この記事の返信元:
    • [618] NO TITLE しびっく 2003/09/09 12:45:01
  • この記事への返信:
    • (なし)
  • ツリーを表示
こんばんは、しびっくさん。ピラルクです。

全然、回答とは違いますが、(^^;;

ListViewコントールをお使いになるほうが、
もしかして望んでいるスタイルへの近道では
ないでしょうか?
  • 題名: Re[1]: NO TITLE
  • 著者: 管理人
  • URL: http://dobon.net
  • 日時: 2003/09/14 2:21:09
  • ID: 656
  • この記事の返信元:
    • [618] NO TITLE しびっく 2003/09/09 12:45:01
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No618に返信(しびっくさんの記事)
> .NETのグリッドコントロールについての質問なのですが、
> リストボックスのように、一行のみ選択できるように制御をかけたいのですが
> できるのでしょうか?

分かりませんが、最悪の場合、マウスイベントなどで行が選択されたか判断し、一行のみ選択するようにするという方法になるのではないでしょうか。

> また、行選択のみなのでセルにカーソルは行ってほしくもないのです。

「カーソル」の意味がよく分かりませんが、「編集状態にならないようにする」という意味であれば、DataGridTextBoxColumn等を継承したクラスでEditメソッドをオーバーライドして編集できなくするか、DataGridコントロールのControlsメソッドからTextBoxを削除するといった方法がありそうです。

DOBON.NET | プログラミング道 | プログラミング掲示板