質問するログイン新規登録

質問編集履歴

2

url文字列にリンクを張りました。希望する結果の具体例を示しました。

2020/06/29 14:23

投稿

Kouta2020
Kouta2020

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,59 @@
1
- [リンク内容](https://hironimo.com/prog/vbnet/dataview/)https://hironimo.com/prog/vbnet/dataview/
1
+ [https://hironimo.com/prog/vbnet/dataview/](https://hironimo.com/prog/vbnet/dataview/)
2
2
 
3
3
  を参考にDataTableの重複の削除を試みています。
4
4
  3列の内、2列が重複している行を削除したいです。
5
5
 
6
6
  DataView.ToTableで上記サイトのように3列のうち2列の項目を指定すると、重複削除でき2列だけが表示されます。
7
7
 
8
+ 例)データテーブル
8
- しかし削除後の表示は3列のままにして、しかも下側の行を残したいです。
9
+ name old height
10
+ ひろ  10  100
11
+ ひろ  10  110
12
+ ひろ  10  120
13
+ ひろ  10  130
14
+ ひろ  10  140
15
+ ひろ  20  150
16
+ ひろ  20  160
17
+ ひろ  20  170
18
+ ひろ  20  180
19
+ ひろ  20  180
9
20
 
21
+ Dim dtView As DataView
22
+ dtView = New DataView(dt)
23
+ dt = dtView.ToTable(True, {"name", "old"})
24
+
25
+ 結果
26
+ name old
27
+ ひろ  10
28
+ ひろ  20
29
+
30
+ 希望している重複削除後の表示は3列のままにして、しかも下側の行を残すことです。
31
+
32
+ 希望する結果
33
+ name old height
34
+ ひろ  20  180
35
+ ひろ  10  140
36
+
10
37
  Excelでは残したい行が上になるように並べかえて、重複の削除で列を2つ選択すれば実現できます。
11
38
 
39
+ 例)height降順並び替え
40
+ name old height
41
+ ひろ  20  180
42
+ ひろ  20  180
43
+ ひろ  20  170
44
+ ひろ  20  160
45
+ ひろ  20  150
46
+ ひろ  10  140
47
+ ひろ  10  130
48
+ ひろ  10  120
49
+ ひろ  10  110
50
+ ひろ  10  100
51
+
52
+ 重複の削除でnameとoldの2列を選択する
53
+
54
+ 希望する結果
55
+ name old height
56
+ ひろ  20  180
57
+ ひろ  10  140
58
+
12
59
  これをVB.NET(言語VB)でできる方法を教えて下さい。

1

2020/06/29 14:23

投稿

Kouta2020
Kouta2020

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- https://hironimo.com/prog/vbnet/dataview/
1
+ [リンク内容](https://hironimo.com/prog/vbnet/dataview/)https://hironimo.com/prog/vbnet/dataview/
2
2
 
3
3
  を参考にDataTableの重複の削除を試みています。
4
4
  3列の内、2列が重複している行を削除したいです。