- ベストアンサー
ListViewで、非表示列って作れますか?
VB6.0です。 一覧にListViewを使用しているのですが、 非表示にしたい列があるのですが、出来ませんか? 列幅は可変としているので、列幅を0にしておく方法は使えません。 一覧には見せないけど、更新項目なので、 いちいちもう1度読み直すのは面倒なので、非表示で持っていたいのですが…。 何か方法ありますか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
どんな感じで ListView にアイテムを追加してるのか分かりませんが、 見せたくない項目をキーにしてしまうとか? キーが重複しそうなら連番 でも仮につけとけば良いし。 With ListView1.ListItems.Add .Key = strKey & Chr(0) & Cstr(lngItemCnt) .Text = strText .SubItems(1) = strSub1Text .SubItems(2) = strSub2Text .SubItems(3) = strSub3Text End With このようにして、 Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem) MsgBox Left$(Item.Key, InStr(Item.Key, Chr(0)) - 1) End Sub こんな感じで非表示にしたい項目を拾うのは? > ただし、SORT機能をつけた場合、ずれますよね。 その通りですが、それが問題になりそうですか? 並びが気になるならソートしたときに非表示の ListView も同時に同項目で ソートすれば良いだけだし、そもそも配列も非表示の ListView は並び変え は必要ないと思いますよ。 表示されている ListView の ItemClick イベントなどで Key または Text は拾えるので、あとはそれを配列や 非表示 ListView から探すだけでは? 表示されていないものに並びは関係ないと思いますが、いかかでしょう? ただ、こっちの方法は効率悪いですね(´・ω・`)
その他の回答 (4)
- Starfish_goo
- ベストアンサー率59% (47/79)
>試してみたのですが、 >サブアイテムがないリストの場合は無理ですか? サブアイテムの有無は関係なく使えます。
お礼
ありがとうございました。 出来ました!!
- Starfish_goo
- ベストアンサー率59% (47/79)
Key の代わりで、TagでOKです。ダブってもいいですし。 Private Sub Form_Load() Dim itmX As ListItem Set itmX = ListView1.ListItems.Add(, , "1番目") itmX.SubItems(1) = "First" itmX.Tag = "奇数" Set itmX = ListView1.ListItems.Add(, , "2番目") itmX.SubItems(1) = "Second" itmX.Tag = "偶数" Set itmX = ListView1.ListItems.Add(, , "3番目") itmX.SubItems(1) = "Third" itmX.Tag = "奇数" Set itmX = ListView1.ListItems.Add(, , "4番目") itmX.SubItems(1) = "Fouth" itmX.Tag = "偶数" End Sub Private Sub ListView1_Click() MsgBox ListView1.SelectedItem.Text & "は、" & _ ListView1.SelectedItem.Tag & "です。" End Sub
お礼
ありがとうございました。 試してみたのですが、 サブアイテムがないリストの場合は無理ですか?
- KenKen_SP
- ベストアンサー率62% (785/1258)
列幅 0 がベストだと思いますけど、存在すら見せたくないんですよね? 非表示の ListView をもう一つ用意しておくとか... 要素数が少ないなら配列などで内部的に保持しておくとか...
補足
ありがとうございます。 現在、配列で持っています。 ただし、SORT機能をつけた場合、ずれますよね。 (現在SORTはなしですが…) その辺がイヤなので、できれば、ListVIew持っていたかったのですが。 もう1つListViewで持っておくのも本体のListViewとSORTとずれますね…。 んー。Gridにすればよかったかも。。
- Starfish_goo
- ベストアンサー率59% (47/79)
Tagプロパティは使えませんか?
お礼
ありがとうございます。 Tagの使い方がいまひとつ理解できていません。 調べてみます。
お礼
ありがとうございます。 Keyに入れる方法でやってみます。 配列のことは、勝手にIndexで考えてました。 一意の値で探すのであれば、SORTされても問題ないですね。 非表示列にも表示している列と同じ列をすべて持たせるなら、 同項目でSORTできますね。 …私がバカでした。(--; 再度、ありがとうございました。