如果在其他地方已经回答了这个问题,请提前道歉(经过几个小时的搜索,我们找不到答案)。
无论如何,我的代码有效,我已经使用按钮对其进行了测试。 选择行然后单击按钮,它将显示正确的数据。
但我希望它在我选择行时显示数据,而不是选择一行然后按一个按钮。
我的代码:
private void dgvRecipes_CellContentClick(object sender,
DataGridViewCellEventArgs e)
{
if (dgvRecipes.SelectedRows.Count > 0)
{
int selectedRecipe =
int.Parse(dgvRecipes.SelectedRows[0].Cells[0].Value.ToString());
lblRecipe.Text = dgvRecipes.SelectedRows[0].Cells[1].Value.ToString();
string selectStr = "SELECT IngredDesc, IngredAmt, IngredComment " +
"FROM Ingredient, RecipeIngredients
WHERE RecipeIngredients.RecipeNo = " + selectedRecipe +
" AND Ingredient.IngredID = RecipeIngredients.IngredID ";
dbCmd = new SqlCommand(selectStr, dbConn);
dbAdapter = new SqlDataAdapter(dbCmd);
dbAdapter.Fill(ds, "RecipeIngredients");
dgvIngredients.DataSource = ds.Tables["RecipeIngredients"];
selectStr = "SELECT InstructionNo, Instructions FROM RecipeInstructions "
+ "WHERE RecipeInstructions.RecipeNo = " + selectedRecipe;
dbCmd = new SqlCommand(selectStr, dbConn);
dbAdapter = new SqlDataAdapter(dbCmd);
dbAdapter.Fill(ds, "RecipeInstructions");
dgvInstructions.DataSource = ds.Tables["RecipeInstructions"];
}
}
如果我没有正确地表达我的问题并严重列出代码,请再次道歉。
答案 0 :(得分:1)
您只需要添加Selection Change event Datagridview:
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
......
}
要解释TaW
有用的评论,您必须进入DatagridView的properties
(来自VS设计),选择Events
标签,然后双击SelectionChange
事件
答案 1 :(得分:0)
您通常通过绑定来执行此操作,因此文本框显示相同的值,而后面没有任何额外的代码。 但是:您还可以更改datagrid中名为“selectionmode”的属性;你应该设置selectRow。然后,您可以找到相应的事件,并将按钮下的代码移动到该事件
答案 2 :(得分:0)
使用DataGridView
的{{3}}事件。
SelectionChanged事件就会发生