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

回答編集履歴

1

修正

2021/06/10 10:28

投稿

退会済みユーザー
answer CHANGED
@@ -1,1 +1,35 @@
1
- 12まで続くプロパティの部分を別クラスにして、それでList作ったらどうでしょう。
1
+ 12まで続くプロパティの部分を別クラスにして、それでList作ったらどうでしょう。
2
+ 例えば、
3
+ ```vbnet
4
+ Class Hoge
5
+ Public Sub New(row As DataRow)
6
+ disp_color = row("disp_color").ToString
7
+ parts_no = row("parts_no").ToString
8
+ parts_name = row("parts_name").ToString
9
+ location_no = row("location_no").ToString
10
+ order_point = row("order_point").ToString
11
+ End Sub
12
+
13
+ Public Property disp_color As String
14
+ Public Property parts_no As String
15
+ Public Property name As String
16
+ Public Property parts_name As String
17
+ Public Property location_no As String
18
+ Public Property order_point As String
19
+ End Class
20
+ ```
21
+ こんなクラスを作って、
22
+ ```vbnet
23
+ settingDto = New RPT_0060SettingDto
24
+ dtoList.Add(settingDto)
25
+ For Each row As DataRow In table.Rows
26
+ If settingDto.HogeList.Count = 12 Then
27
+ settingDto = New RPT_0060SettingDto
28
+ dtoList.Add(settingDto)
29
+ End If
30
+
31
+ settingDto.HogeList.Add(New Hoge(row))
32
+ Next
33
+ ```
34
+ こんな感じのループにすると、HogeListが12個溜まった次のループでdtoListが追加されます。
35
+ (適当に考えたので、デバッグはしてないです)