DOBON.NETプログラミング道掲示板
(現在 過去ログ2 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■33531 / inTopicNo.1)  VS2015のListViewにて、行挿入されない
  
□投稿者/ ousi 一般人(1回)-(2016/12/05(Mon) 16:59:05)
  • アイコン環境/言語:[Windows7,VB.NET,.NET Framework4.0] 
    分類:[.NET] 

    2016/12/05(Mon) 16:59:56 編集(投稿者)

    よろしくお願いします。
    ListViewを使ってアイコンと文字列を表示しており、それぞれIDが付いていて昇順に表示しています。

    他機能で新たに追加した情報を表示しようとしています。Insertを使っているのですが、
     ListView.View = View.SmallIcon
    では必ず最下行に追加されてしまいます。 

     ListView.View = View.List
    なら指定した行に挿入できます。
    なぜ、View.SmallIconでは途中の行に挿入できないのでしょうか?


引用返信 削除キー/
■33532 / inTopicNo.2)  Re[1]: VS2015のListViewにて、行挿入されない
□投稿者/ Hongliang 大御所(526回)-(2016/12/05(Mon) 17:38:40)
  • アイコンWinFormsという前提で。

    SmallIcon等の場合、Itemsの格納順と表示位置は独立しています。Explorerのアイコン表示でアイコンを任意の位置にドラッグで移動できるように。

    簡単には、
    Dim origItem As ListViewItem = ListView1.Items(挿入位置)
    Dim origPosition = origItem.Position
    Dim newItem As ListViewItem = ListView1.Items.Insert(挿入位置, 挿入アイテム)
    newItem.Position = origPosition
    のように、挿入位置に元々あったアイテムの位置を新しいアイテムに設定することで"挿入"できるかと思います。

    ただし、ListViewの機能を使ってアイテムをソートしている場合はこの限りではありません。
引用返信 削除キー/
■33533 / inTopicNo.3)  Re[2]: VS2015のListViewにて、行挿入されない
□投稿者/ ousi 一般人(8回)-(2016/12/07(Wed) 15:50:38)
  • アイコンTo Hongliangさん

    回答ありがとうございます。
    WinFormsです。ありがとうございます。

    提示された方法を試してみたのですが、残念ながらやはり最下行に追加されてしまいました。何か設定が邪魔しているのでしょうか・・・

    その後もう少しインターネットで調べましたが、同様の報告はちらほらあるようですね。
    仕方ないので色々模索した結果、今回は以下のようにして解決しました。

    ListView.View = View.List
    ListView.Items.Insert(挿入位置,挿入アイテム)
    ListView.View = View.SmallIcon
解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -