質問編集履歴
6
a
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,7 +60,7 @@
|
|
60
60
|
|
61
61
|
ansRow.Add(lrow)
|
62
62
|
|
63
|
-
lcnt = 0
|
63
|
+
lcnt = 0
|
64
64
|
|
65
65
|
End If
|
66
66
|
|
5
編集 0
test
CHANGED
File without changes
|
test
CHANGED
@@ -58,7 +58,9 @@
|
|
58
58
|
|
59
59
|
'連続情報 連続あり
|
60
60
|
|
61
|
-
ansRow.Add(lrow)
|
61
|
+
ansRow.Add(lrow)
|
62
|
+
|
63
|
+
lcnt = 0
|
62
64
|
|
63
65
|
End If
|
64
66
|
|
@@ -152,6 +154,8 @@
|
|
152
154
|
|
153
155
|
ansRow.Add(lrow)
|
154
156
|
|
157
|
+
lcnt = 0
|
158
|
+
|
155
159
|
End If
|
156
160
|
|
157
161
|
|
4
追記5
test
CHANGED
File without changes
|
test
CHANGED
@@ -175,3 +175,11 @@
|
|
175
175
|
3、拡張メソッドとする
|
176
176
|
|
177
177
|
でしょうか?
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
追記2
|
182
|
+
|
183
|
+
コード挙げておいてなんですが、
|
184
|
+
|
185
|
+
思惑通り動いてないようです(^^;
|
3
追記3
test
CHANGED
File without changes
|
test
CHANGED
@@ -98,7 +98,7 @@
|
|
98
98
|
|
99
99
|
```lang-<ここに言語を入力>
|
100
100
|
|
101
|
-
Public Function
|
101
|
+
Public Function toNotContList(ByVal rows As List(Of DataRow)) As List(Of DataRow)
|
102
102
|
|
103
103
|
|
104
104
|
|
2
追記2
test
CHANGED
File without changes
|
test
CHANGED
@@ -172,4 +172,6 @@
|
|
172
172
|
|
173
173
|
2、gotoを使わないようにする
|
174
174
|
|
175
|
+
3、拡張メソッドとする
|
176
|
+
|
175
177
|
でしょうか?
|
1
追記1
test
CHANGED
File without changes
|
test
CHANGED
@@ -85,3 +85,91 @@
|
|
85
85
|
またはこのメソッドでできるよ!
|
86
86
|
|
87
87
|
等ありましたらご教授ください。
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
追記1:
|
92
|
+
|
93
|
+
ループの仕方が汚く思いましたので、
|
94
|
+
|
95
|
+
連続チェックの回数分でForをまわすよう修正しました。
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
```lang-<ここに言語を入力>
|
100
|
+
|
101
|
+
Public Function getNotDupArray(ByVal rows As List(Of DataRow)) As List(Of DataRow)
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
'2回以上連続しているrowは1つとみなす
|
106
|
+
|
107
|
+
Dim lcnt As Integer = 0 '連続数
|
108
|
+
|
109
|
+
Dim lrow As DataRow = Nothing '連続行
|
110
|
+
|
111
|
+
Dim ansRow As New List(Of DataRow) '結果
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
For i As Integer = 0 To rows.Count - 2
|
116
|
+
|
117
|
+
'連続チェック回数分ループ
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
If rows(i).Item("F_Tmp") = rows(i + 1).Item("F_Tmp") Then
|
122
|
+
|
123
|
+
'連続した場合 連続情報保存
|
124
|
+
|
125
|
+
lcnt += 1
|
126
|
+
|
127
|
+
lrow = rows(i)
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
'最後の連続チャックの場合、ansRow追加
|
132
|
+
|
133
|
+
If i = rows.Count - 2 Then GoTo AddRow
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
Else
|
138
|
+
|
139
|
+
Addrow:
|
140
|
+
|
141
|
+
'連続しなくなった場合 ansRowに追加
|
142
|
+
|
143
|
+
If lcnt = 0 Then
|
144
|
+
|
145
|
+
'連続情報 連続無し
|
146
|
+
|
147
|
+
ansRow.Add(rows(i))
|
148
|
+
|
149
|
+
Else
|
150
|
+
|
151
|
+
'連続情報 連続あり
|
152
|
+
|
153
|
+
ansRow.Add(lrow)
|
154
|
+
|
155
|
+
End If
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
End If
|
160
|
+
|
161
|
+
Next
|
162
|
+
|
163
|
+
Return ansRow
|
164
|
+
|
165
|
+
End Function
|
166
|
+
|
167
|
+
```
|
168
|
+
|
169
|
+
改善点としては、
|
170
|
+
|
171
|
+
1、引数でカラム名を受け取るようにする
|
172
|
+
|
173
|
+
2、gotoを使わないようにする
|
174
|
+
|
175
|
+
でしょうか?
|