我有两个数据库表Table1
和Table2
我使用Table1
显示gridview
的数据。当用户点击table2
上的行时,我想在另一个gridview
中显示gridview1
的数据,即我想在用户点击时更改gridview2
中的数据gridview1
上的一行。两个表都使用PersonID
相关联。
我使用的是windowsforms而不是ASP.NET。
答案 0 :(得分:0)
您可以处理RowEvent事件(或类似的事件)。这样,您可以获得PersonID
的值(如果它与DataGridView1绑定)并使用该值从另一个表中获取结果。
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
{
//Assume that the first column represents PersonID
var firstCellValue = dataGridView1.Rows[e.RowIndex].Cells[0].Value;
if (firstCellValue != null)
{
string sql="select * from Table2 where PersonID=@PersonID";
....
cmd.Parameters.Add("@PersonID",SqlDbType.VarChar,20).Value=firstCellValue;
....
}
}
答案 1 :(得分:0)
您也可以从First Datagrid的“dataGridView1_SelectionChanged”事件调用详细记录,例如,
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
int PersonID=Convert.ToInt32(dataGridView1.CurrentRow.Cells["PersonID"].ToString());
//Pass PersonID to Parameter and Get detail list
}