における位置の何行目は、私は、この条件を持っているがありません:例外を回避するためにどのようにVB.NET
If IsNothing(ds.Tables(0).Rows(rowData).Item("DATE")) Then
Else
txtDATE.Text = ds.Tables(0).Rows(rowData).Item("DATE")
End If
今まで、私はそれが同じエラーである何。 どうすれば解決できますか?
における位置の何行目は、私は、この条件を持っているがありません:例外を回避するためにどのようにVB.NET
If IsNothing(ds.Tables(0).Rows(rowData).Item("DATE")) Then
Else
txtDATE.Text = ds.Tables(0).Rows(rowData).Item("DATE")
End If
今まで、私はそれが同じエラーである何。 どうすれば解決できますか?
私は10までループしていますが、私のデータセットは時々 の10行未満です。私はdinamically TextBoxコントロールを作成したいと には、設定されたデータからテキストセットが、10行のデータセットがデータ を持っていない場合だけであることをチェックするために
If
を使用して、空のTextBoxその後
のテキストを残すために条件:
For rowData As Int32 = 0 To 10
' .....
If ds.Tables(0).Rows.Count > rowData Then
Dim dt As Date? = ds.Tables(0).Rows(rowData).Field(Of Date?)("DATE")
txtDATE.Text = If(dt.HasValue, dt.Value.ToString(), "")
Else
txtDATE.Text = ""
End If
Next
(IsNothing
を使用しているため)この列はnull可能な日付列です。次に、Date?
を使用することをお勧めします。したがって、null可能な型をサポートするDataRowExtensions.Field
を使用できます。
素晴らしい!ありがとうございました。 – SeaSide
10個のテキストボックスの代わりに、1個のDataGridView
コントロールしか使用できません。
だけで存在していたデータのためのあなたの日付値(これもデザイナーで行うことができます)
Dim column As New DataGridViewTextBoxColumn With
{
Header = "Date"
DataPropertyName = "DATE"
}
yourDataGridView.Columns.Add(column)
yourDataGridView.AutoGenerateColumns = False
はその後の行を生成します
yourDataGridView.DataSource = ds.Tables(0)
のDataGridViewのDataSourceとしてあなたのDataTableを使用を表す一つの列を追加します。データ表。
必要に応じてDataGridViewの「衣装」をカスタマイズできます。
OPには1つではなく、テキストが必要な10個のテキストボックスがあるようです。また、行がない場合、古いテキストをString.Emptyで上書きしないでください。たとえば、位置10にあるとします。 –
@TimSchmelter - 別の方法で正しい更新を返します。 – Fabio
さて、 'rowData'とは何ですか?この数値は' ds.Tables(0).Rows.Count'の値を超えていますか?デバッガを使用して確認します。 .NETのすべてのインデックスは、位置0から始まることがわかりますか?したがってforループは0から 'Rows.Count - 1'まで実行されます。 –
rowDateは整数です。私は10まで行くループがありますが、私のデータセットは時には10行未満です。 – SeaSide
@Seasise:答えが –