
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も見ています
-
ListViewで複数選択された項目を一度に削除する方法
Visual Basic(VBA)
-
Excel VBA ListViewサブアイテムの文字色
その他(プログラミング・Web制作)
-
ListViewで、非表示列って作れますか?
Visual Basic(VBA)
-
-
4
VBAでListviewの並べ替えを数値で行なうには
Excel(エクセル)
-
5
Listviewのデータを上から順番に取得 VBA
Visual Basic(VBA)
-
6
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
7
checkbox付きListViewで デフォルトチェック
Visual Basic(VBA)
-
8
リストビューの列ヘッダーの幅について
Visual Basic(VBA)
-
9
Listviewの内容を数字の降順に並べ替えたい
Visual Basic(VBA)
-
10
VBA ソートすると、1、11、2,3になって・・
Excel(エクセル)
-
11
ListViewで表示されたデータの選択行指定
Visual Basic(VBA)
-
12
excel VBA リストビューの行の変更
Visual Basic(VBA)
-
13
vba Listviewでのチェックボックスのイベントを教えてください
Excel(エクセル)
-
14
VBA ListViewの選択Itemを削除する
Excel(エクセル)
-
15
ListViewで列を指定して表示させる方法
Excel(エクセル)
-
16
ListViewのチェックボックスについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
C# DataTableの行をソートしてD...
-
VBA基本構文の作り方 2列の...
-
GridViewで列のソートを無効に...
-
C# DataGridView のヘッダーセ...
-
構造体のリストをソートしたい。
-
VB.NETでファイル名順にファイ...
-
Double型ソート方法
-
ソートについて(その他質問あ...
-
ソートのアルゴリズム
-
C言語・要素除去
-
構造体配列の並べ替え
-
(VBA) Dir 関数で取得するファ...
-
VB6 任意の順番でのソート
-
10個の整数を入力して小さい順...
-
DataGridViewの複数列を連動し...
-
Excel VBA テキストボックス内...
-
DataGridViewのソートを止めたい
-
VB.net データセットからのCSV...
-
該当のセルのみを2次元配列に入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
C# DataGridView のヘッダーセ...
-
VB.NETでファイル名順にファイ...
-
C# DataTableの行をソートしてD...
-
VBA基本構文の作り方 2列の...
-
ファイル名「1.jpg ~10.jpg~...
-
あるディレクトリ内のファイル...
-
GridViewで列のソートを無効に...
-
C言語・要素除去
-
excel VBA の条件をつけての列...
-
Excelですべての組合せ(重複組...
-
VBScriptで配列のソートをする...
-
配列の問題
-
ブック.csvを開かずに他のブッ...
-
2次元配列を複数項目でソートし...
-
構造体配列のソート
-
listboxの並び替え
-
構造体のリストをソートしたい。
-
リスト構造のソートで悩んでま...
-
文字列をソートする方法
おすすめ情報