私はできるだけ多くの参照と以前の質問を見てきましたが、私は答えを見つけることができないか、それを理解していないかもしれません。 、私が見たものからDataTable NullReferenceException
if (dt.Rows.Count > 0)
初期化していないとき、このエラーは、一般的にのみ発生します。しかし、私は下の行にSystem.NullReferenceExceptionを取得しています
public DataSet dsFilter = new DataSet();
public DataTable dtFilter = new DataTable();
public frmFilter()
{
InitializeComponent();
cbFilter.SelectedIndex = 0;
this.dsFilter.Tables.Add(dtFilter);
this.dsFilter.Tables[0].TableName = "tr_filtered";
}
public void SetupFilter()
{
lblRecs.Text = this.dsFilter.Tables["tr_filtered"].Rows.Count + "recs";
LoadListBox("dma_name");
}
public void LoadListBox(string colName)
{
DataTable dt = this.dsFilter.Tables["tr_filtered"];
if (dt.Rows.Count > 0)
{
lbFilter.Items.Clear();
for (int i = 0; i != dt.Rows.Count; i++) { lbFilter.Items.Add(dt.Rows[i][colName]); }
object[] items = new object[lbFilter.Items.Count];
lbFilter.Items.CopyTo(items, 0);
lbFilter.Items.Clear();
lbFilter.Items.AddRange(items.AsEnumerable().Distinct().ToArray());
}
}
:私は以下のコードを持っています私はDataTableとDataSetを正しく初期化していると思いました。私は明らかに私はそうではないと私は誰かが私を助けることができるか、少なくとも正しい方向に私を指すことを望んでいます。
変更このするテスト: '場合(DT = NULL &&!このような何かを試してみてくださいdt.Rows.Count> 0) ' – jussij
これはうまくいった!どうもありがとうございます!正直なところ、私はそれを捕らえたはずです。 – Jon