次のようなDGVを設定するクエリがあります
private void textBox6_Leave(object sender, EventArgs e)
{
DataClasses3DataContext db = new DataClasses3DataContext();
int matchedAdd = (from c in db.GetTable<prop>()
where c.HOUSE_NO.Contains(textBox1.Text) && c.Direction.Contains(textBox2.Text) && c.street.Contains(textBox3.Text) && c.SUFF.Contains(textBox4.Text)
select c.ID).SingleOrDefault();
var before = (from c in db.GetTable<prop>()
where c.ID < matchedAdd
orderby c.PARCEL descending
select c).Take(6);
var after = (from c in db.GetTable<prop>()
where c.ID > matchedAdd
orderby c.PARCEL
select c).Take(6);
var endResult = before.Concat(after);
dgvBRT.DataSource = endResult;
}
行を選択して、そのクエリによってデータが入力された後、DGV から BRTDetail を開くことができる必要があります。バインドされていないグリッドを使用する必要があったのはこれが初めてです。私が通常使用するコードは以下のとおりです。その時点で BRTDataSet は無関係であるため、明らかに機能しません。この場合、行を選択するにはどうすればよいですか?
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.LoadBldgKey(SelectedRow.BLDG_CD, null);
BRTDetail.Show();
}