No.1ベストアンサー
- 回答日時:
もっと効率のよいやり方があるのかもしれませんが...
===============================
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'データ作成
Dim DT As DataTable = New DataTable
DT.Columns.Add("Field1", GetType(String))
DT.Columns.Add("Field2", GetType(String))
DT.Columns.Add("Field3", GetType(String))
For i As Integer = 1 To 10
Dim row As DataRow = DT.NewRow()
row("Field1") = i
row("Field2") = Rnd().ToString
row("Field3") = Rnd().ToString
DT.Rows.Add(row)
Next
'リストビュー生成
With Me.ListView1
.Items.Clear()
.View = View.Details
.GridLines = True
.CheckBoxes = False
.FullRowSelect = True
.Columns.Clear()
With .Columns
.Add("Field1", 100, HorizontalAlignment.Left)
.Add("Field2", 100, HorizontalAlignment.Left)
.Add("Field3", 100, HorizontalAlignment.Left)
End With
For Each row As DataRow In DT.Rows
Dim lst As ListViewItem = New ListViewItem(New String() {CType(row(0), String), CType(row(1), String), CType(row(2), String)})
Me.ListView1.Items.Add(lst)
Next
End With
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim DT As DataTable = New DataTable
DT.Columns.Add("Field1", GetType(String))
DT.Columns.Add("Field2", GetType(String))
DT.Columns.Add("Field3", GetType(String))
For Each lst As ListViewItem In Me.ListView1.Items
Dim row As DataRow = DT.NewRow()
row(0) = lst.SubItems(0).Text
row(1) = lst.SubItems(1).Text
row(2) = lst.SubItems(2).Text
DT.Rows.Add(row)
Next
'ソート
Dim SortedRows() As DataRow = DT.Select("", "Field3 ASC, Field1 ASC")
'リストビュー再描画
Me.ListView1.Items.Clear()
For Each newrows As DataRow In SortedRows
Dim lst As ListViewItem = New ListViewItem(New String() {CType(newrows(0), String), CType(newrows(1), String), CType(newrows(2), String)})
Me.ListView1.Items.Add(lst)
Next
End Sub
丁寧にコードまで書いていただき、ありがとうございます。
お陰様で問題を解決できました。
それにしても、本当にSQL文のようなソートをしてくれるメソッドがあるんですね。少し驚きました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- Excel(エクセル) Excelのソート(並べ替え) 2 2022/05/15 22:54
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) Excel 効率的な名簿と得点の管理の仕方 8 2022/08/07 08:15
- Excel(エクセル) Excelの50音順ソートを全ての行列に適用するには? 4 2022/12/05 11:28
- Excel(エクセル) excel マクロでグループ内でソートしたい。見出しが上手くいきません。 7 2022/05/22 08:31
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
自分独自の健康法はある?
こうしていると調子がいい!みたいな自分独自の健康法、こだわりはありますか?
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
ListViewで、非表示列って作れますか?
Visual Basic(VBA)
-
Excel VBA ListViewサブアイテムの文字色
その他(プログラミング・Web制作)
-
checkbox付きListViewで デフォルトチェック
Visual Basic(VBA)
-
-
4
VBAでListviewの並べ替えを数値で行なうには
Excel(エクセル)
-
5
Listviewのデータを上から順番に取得 VBA
Visual Basic(VBA)
-
6
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
7
ListViewで複数選択された項目を一度に削除する方法
Visual Basic(VBA)
-
8
Listviewの内容を数字の降順に並べ替えたい
Visual Basic(VBA)
-
9
VBA ソートすると、1、11、2,3になって・・
Excel(エクセル)
-
10
ListViewのチェックボックスについて
Excel(エクセル)
-
11
リストビューの項目の内容を変更する方法は?
Visual Basic(VBA)
-
12
vba Listviewでのチェックボックスのイベントを教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
あるディレクトリ内のファイル...
-
DataGridViewの複数列を連動し...
-
VB.NETでファイル名順にファイ...
-
偶数奇数の判別!!
-
C# DataTableの行をソートしてD...
-
VBA基本構文の作り方 2列の...
-
DataGridViewの昇順降順。
-
n番目に大きい数を求めるアル...
-
プログラミングについて 配列を...
-
Excelですべての組合せ(重複組...
-
配列の中身を入れ替える方法を...
-
昇順ソート
-
C言語でリストのソートについて...
-
V.B.に特化した文字列の整列方...
-
Double型ソート方法
-
C言語でアナグラムを求めるプロ...
-
VB6でデータを昇順に並べ替える
-
データ数が多い場合のソート
-
C言語のバブルソートについてな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# DataGridView のヘッダーセ...
-
System.IO.Directory.GetFiles...
-
C言語・要素除去
-
VBA基本構文の作り方 2列の...
-
C# DataTableの行をソートしてD...
-
VB.NETでファイル名順にファイ...
-
C言語について
-
ファイル名「1.jpg ~10.jpg~...
-
vbでDataTableの抽出コピー
-
リスト構造のソートで悩んでま...
-
2次元配列を複数項目でソートし...
-
VB6でデータを昇順に並べ替える
-
DataGridViewの昇順降順。
-
あるディレクトリ内のファイル...
-
DataGridViewのソートを止めたい
-
Excelですべての組合せ(重複組...
-
DataGridViewの複数列を連動し...
-
配列の問題
-
プログラミングについて 配列を...
-
10個の整数を入力して小さい順...
おすすめ情報