| ■No86518 (shu さん) に返信
> 例えば
> ret.Rows.Add(x, DBNull.Value, DBNull.Value, DBNull.Value) : x += 5
> ret.Rows.Add(x, d, row("数量1"), row("数量2")) : x += 5
> とした場合、どのようになるかわかりますか?
> その状態と実際に行いたいこととの差が何なのかはっきりさせるとなんとかならないでしょうか?
If Not isFirst2 Then
Dim rowItm As Object = Nothing
Dim row = rowItm.r
Dim d = rowItm.d
For i = 1 To 2
'ret.Rows.Add(x, DBNull.Value, DBNull.Value, DBNull.Value) : x += 5
'ret.Rows.Add(x, d, row("数量1"), row("数量2")) : x += 5
ret.Rows.Add(x, d, row("数量1"), row("数量2"), row("マーク"))
Next
End If
isFirst2 = False
この書き方ではおかしいのですよね?
Dim row = rowItm.r で 「System.NullReferenceException: 'オブジェクト変数または With ブロック変数が設定されていません。」のエラーが出ます。
なお、row("マーク") は "*" または " " になるようにしています。
With ret.Columns()
.Add("x", GetType(Integer))
.Add("時刻", GetType(DateTime))
.Add("数量1", GetType(Integer))
.Add("数量2", GetType(Integer))
.Add("マーク", GetType(String))
End With |