C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.52566 の関連記事表示

<< 0 >>
■52566  Listviewの複数選択状態について
□投稿者/ らーめんまん -(2010/08/15(Sun) 14:30:10)

    分類:[.NET 全般] 

    VB.NET2005です。

    只今ListViewのデータを検索する機能を作成しています。

    検索された結果を全て選択状態にしたいのですが、1つ選択状態にすると、以前の選択状態が解除されてしまい、結果1つのみ選択状態になっているということになってます。

    複数選択状態にする方法はあるのでしょうか?
    ご教授お願いしますorz

    For Each Hzc As ListViewItem In ListView1.Items
    For YKR = Ken To Saku Step 1
    Dim Hozo As String = Hzc.SubItems(YKR).Text
    If InStr(Hozo, TextBox4.Text) Then

    ListView1.Focus()
    ListView1.Items(YKR).Selected = True

    End If
    Next
    Next



親記事 /過去ログ88より / 関連記事表示
削除チェック/

■52567  Re[1]: Listviewの複数選択状態について
□投稿者/ Azulean -(2010/08/15(Sun) 15:09:41)
記事No.52566 のレス /過去ログ88より / 関連記事表示
削除チェック/

■52571  Re[2]: Listviewの複数選択状態について
□投稿者/ らーめんまん -(2010/08/15(Sun) 21:00:26)
記事No.52566 のレス /過去ログ88より / 関連記事表示
削除チェック/

■52576  Re[1]: Listviewの複数選択状態について
□投稿者/ Azulean -(2010/08/15(Sun) 23:04:03)
    No52566 (らーめんまん さん) に返信
    掲示されているコードは、ロジックとして正しいのでしょうか?

    ・YKR の開始値 Ken と終了値 Saku はどういった数値を取り得るのでしょうか?
    ・SubItems に YKR を指定して比較しているのに、部分一致している場合は ListView1.Items に YKR を指定していますが、合っていますか?
     (一致する SubItems がある決まった値しかないのであれば、検索結果として選択されるのは常に決まったものになると予想されます)
    ・Selected = True にする対象はもしかして、Hzc では?
記事No.52566 のレス /過去ログ88より / 関連記事表示
削除チェック/

■52577  Re[2]: Listviewの複数選択状態について
□投稿者/ らーめんまん -(2010/08/16(Mon) 00:03:34)
    ロジックを確認したところ、YKRの値でlistview.itemsの行を指定していました。
    Azuleanさんのおっしゃる通り、常に決まったものが選択されてしまうという状態でした。
    また、Hzcを使用してselectedを試みたのですが、HzcはListviewitemsということで、stringの値を使用してしまうので行をカウントできませんでした。

    結論として、Integer型で別途行をカウントする変数を作成しました。すると複数選択状態が可能になり、少々強引な制御をかけることで、指定したListviewitemを何とか選択状態にすることが出来ました。

    ちなみにKen、Sakuの数値はListviewの列を自分なりに無理矢理指定したものです。
    (1列目の項目で検索したいならば、Ken=0,Saku=0 で1列目のみ検索する。1,2列目の項目で検索ならば、Ken=0.Saku=1で1、2列目で検索を行うといった形です。恥ずかしい…)

    最後に私の質問について考察していただいたAzileanさん、本当にありがとうございました。VB.NETを始めてまだ日が浅いですが、時間をかけて学習したいと思います。








    No52576 (Azulean さん) に返信
    > ■No52566 (らーめんまん さん) に返信
    > 掲示されているコードは、ロジックとして正しいのでしょうか?
    >
    > ・YKR の開始値 Ken と終了値 Saku はどういった数値を取り得るのでしょうか?
    > ・SubItems に YKR を指定して比較しているのに、部分一致している場合は ListView1.Items に YKR を指定していますが、合っていますか?
    >  (一致する SubItems がある決まった値しかないのであれば、検索結果として選択されるのは常に決まったものになると予想されます)
    > ・Selected = True にする対象はもしかして、Hzc では?
記事No.52566 のレス / END /過去ログ88より / 関連記事表示
削除チェック/

■52578  Re[3]: Listviewの複数選択状態について
□投稿者/ Azulean -(2010/08/16(Mon) 00:08:20)
    2010/08/16(Mon) 00:08:54 編集(投稿者)

    No52577 (らーめんまん さん) に返信
    > また、Hzcを使用してselectedを試みたのですが、HzcはListviewitemsということで、
    > stringの値を使用してしまうので行をカウントできませんでした。

    言いたいことがよくわかりませんでした。
    単純に Hzc.Selected = True と書いたら良いのでは?
    (ListView1.Items(YKR).Selected = True を Hzc.Selected = True に置き換える)

    必ずインデックスが必要なわけではなく、どれを Selected にするかを特定できれば良いのです。
    ListView1.Items(YKR) で得られるのは ListViewItem 型であり、For Each で Hzc として使っているのも同じ ListViewItem 型です。
記事No.52566 のレス /過去ログ88より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -