回答編集履歴

1

追記&訂正

2021/02/05 04:32

投稿

退会済みユーザー
test CHANGED
@@ -88,10 +88,10 @@
88
88
 
89
89
  }
90
90
 
91
- row["total"] = total;
92
-
93
91
  }
94
92
 
93
+ row["total"] = total;
94
+
95
95
  }
96
96
 
97
97
 
@@ -169,3 +169,65 @@
169
169
 
170
170
 
171
171
  ![イメージ説明](b922a6e34208b99ba64cdd972cf30aab.jpeg)
172
+
173
+
174
+
175
+ **【訂正&追記】**
176
+
177
+
178
+
179
+ 最初にアップしてたコード中の row["total"] = total; の位置が不適切だったので直しました。結果は同じですが余計な回数代入を行ってました。
180
+
181
+
182
+
183
+ 基本的に質問者さんの「該当のソースコード」と違うのは、そこにあった、
184
+
185
+
186
+
187
+ ```
188
+
189
+ table0.Columns.Add("total", GetType(Decimal), "CODE1 + CODE2 + CODEME1 + CODEME2")
190
+
191
+ ```
192
+
193
+
194
+
195
+ を、
196
+
197
+
198
+
199
+ ```
200
+
201
+ table.Columns.Add("total", typeof(decimal));
202
+
203
+
204
+
205
+ foreach (DataRow row in table.Rows)
206
+
207
+ {
208
+
209
+ decimal total = 0m;
210
+
211
+ foreach (object value in row.ItemArray)
212
+
213
+ {
214
+
215
+ if (value is decimal)
216
+
217
+ {
218
+
219
+ total += (decimal)value;
220
+
221
+ }
222
+
223
+ }
224
+
225
+ row["total"] = total;
226
+
227
+ }
228
+
229
+ ```
230
+
231
+
232
+
233
+ にしたという点のみです。「該当のソースコード」で許容時間で完了できるなら、私のコードでも許容時間内に入るのではないかと思いますが、試してみていかがだったでしょう?