リストビューで2行表示 – プログラミング – Home

リストビューで2行表示
 
通知
すべてクリア

[解決済] リストビューで2行表示


MAKI
 MAKI
(@MAKI)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

VBのリストビューで

列名A 列名B 列名C
dataA1 dataB1 dataC1
dataA2 dataB2 dataC2
dataA3 dataB3 dataC3

というのはできますが

列名A 列名B 列名C
dataA1-1 dataB1-1 dataC1-1
dataA1-2 dataB1-2 dataC1-2
dataA2-1 dataB2-1 dataC2-1
dataA2-2 dataB2-2 dataC2-2
dataA3-1 dataB3-1 dataC3-1
dataA3-2 dataB3-2 dataC3-2

のような表示の仕方はできるんでしょうか?
リストビューの1行に2行分のデータを1セットでいれるといことです。
行を選択すると
dataA1-1 dataB1-1 dataC1-1
dataA1-2 dataB1-2 dataC1-2
の部分が選択状態にしたいです。

または上記dataA1の中に改行を含むデータを表示することができるんでしょうか?


引用未解決
トピックタグ
べーちゃん
 べーちゃん
(@べーちゃん)
ゲスト
結合: 23年前
投稿: 49
 

こんにちわ、MAKIさん。

>リストビューの1行に2行分のデータを1セットでいれるといことです。
>行を選択すると
>dataA1-1 dataB1-1 dataC1-1
>dataA1-2 dataB1-2 dataC1-2
>の部分が選択状態にしたいです。

私の知る範囲ではリストビューにはその機能はないですね。
この手の機能は市販のコントロールを買うしかないと思います。

>または上記dataA1の中に改行を含むデータを表示することができるんでしょうか?

改行にも対応していないようです。

改行を含めたデータを表示するのであれば、FlexGridを使うことを
お勧めします。


返信引用
yas0302
 yas0302
(@yas0302)
ゲスト
結合: 23年前
投稿: 37
 

> リストビューの1行に2行分のデータを1セットでいれるといことです。
> 行を選択すると
> dataA1-1 dataB1-1 dataC1-1
> dataA1-2 dataB1-2 dataC1-2
> の部分が選択状態にしたいです。

見た目が、このようになればいいのであれば、
プロパティで、MultiSelect を 1 に設定します。

セットする場合は、

List1.AddItem dataA1-1 dataB1-1 dataC1-1
List1.AddItem dataA1-2 dataB1-2 dataC1-2

この様に必ず2行ずつセットして、
マウスによる選択時には、MouseDown() に
以下のように記述します。

Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y
As Single)
Dim Index As Long
Dim Idx1 As Long
Dim Idx2 As Long
Dim i As Long
Dim Cnt As Long
Static CancelFlag As Boolean

If List1.ListCount = 0 Then
Exit Sub
End If

If CancelFlag Then
Exit Sub
End If

Index = List1.ListIndex
If Index <> -1 Then
CancelFlag = True
List1.Visible = False
Idx1 = (Index \ 2) * 2
Idx2 = Idx1 + 1
Cnt = List1.ListCount - 1
For i = 0 To Cnt
List1.Selected(i) = False
Next
List1.Selected(Idx1) = True
List1.Selected(Idx2) = True
List1.Visible = True
CancelFlag = False
List1.SetFocus
End If
End Sub

これで、それらしくは動作しますが、完璧ではありません。
キーによる選択が必要なら、KeyDown() にも処理を書かないと
いけません。


返信引用
MAKI
 MAKI
(@MAKI)
ゲスト
結合: 23年前
投稿: 12
Topic starter  

ありがとうございました。
早速やってみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました