この問題についてここにある多くのスレッドを読みましたが、この場合になぜこれが起こっているのかまだわかりません. この正確なコードを何度も使用して、過去にフォームを開くためにパラメーターを渡しましたが、何らかの理由でそのエラーが発生しています。私が受け取ったエラーはオンライン propTableAdapter.FillByBRTNumber(BRTDataSet.prop, BrtNumberKey); にあります。データセット内のテーブルである prop を認識しないためです。
コードはページの下にあり、エラーが発生しています。データセットのインスタンスを作成したことに注意してください。デバッグ中にページが開きますが、バインディングソースがクエリを取得しないようです。このプロジェクトで何度も含めて、過去にそのようにする必要はありませんでした。
public partial class frmBRTDetail : Form
{
public frmBRTDetail(BRTSearch _owner)
{
InitializeComponent();
}
public void LoadBRTNumberKey(String BrtNumberKey, String tableName)
{
//BRTDataSet BRTDataSets = new BRTDataSet();
propTableAdapter.FillByBRTNumber(BRTDataSet.prop, BrtNumberKey);
}
}
これを開くページのコード:
public BRTSearch()
{
InitializeComponent();
}
private void BRTSearch_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'bRTDataSet.prop' table. You can move, or remove it, as needed.
//this.propTableAdapter.Fill(this.bRTDataSet.prop);
}
private void btnSearch_Click(object sender, EventArgs e)
{
//caseSelectorBindingSource.Filter = "BRTNumber ='" + textBox3.Text + "'";
//propBindingSource.Filter = "PARCEL ='" + textBox3.Text + "'";
if (textBox3 != null)
{
frmBRTDetail BRTDetail = new frmBRTDetail(this);
BRTDetail.LoadBRTNumberKey(textBox3.Text, null);
BRTDetail.Show();
}
}
private void dgvBRT_DoubleClick(object sender, EventArgs e)
{
System.Data.DataRowView SelectedRowView;
BRTDataSet.propRow SelectedRow;
SelectedRowView = (System.Data.DataRowView)propBindingSource.Current;
SelectedRow = (BRTDataSet.propRow)SelectedRowView.Row;
frmBRTDetail BRTDetail = new frmBRTDetail(this);
BRTDetail.LoadBRTNumberKey(SelectedRow.PARCEL, null);
BRTDetail.Show();
}