C# C在datagridview中选择行时显示数据
如果这个问题在其他地方得到了回答,那么请提前道歉。经过几个小时的搜索,您还没有找到答案 不管怎样,我的代码是有效的,我已经用一个按钮对它进行了测试。 选择行,然后单击按钮,它将显示正确的数据 但我希望它在我选择行时显示数据,而不是选择一行然后按下按钮 我的代码:C# C在datagridview中选择行时显示数据,c#,C#,如果这个问题在其他地方得到了回答,那么请提前道歉。经过几个小时的搜索,您还没有找到答案 不管怎样,我的代码是有效的,我已经用一个按钮对它进行了测试。 选择行,然后单击按钮,它将显示正确的数据 但我希望它在我选择行时显示数据,而不是选择一行然后按下按钮 我的代码: private void dgvRecipes_CellContentClick(object sender, DataGridViewCellEven
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"];
}
}
再次,如果我没有正确表达我的问题,并且代码设置不正确,我深表歉意。您只需要添加Datagridview的一部分:
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
......
}
要解释有用的注释,您必须从VS desgin进入DatagridView的属性,选择“事件”选项卡并双击SelectionChange Event(选择更改事件)您通常通过绑定来执行此操作,因此文本框显示相同的值,而不需要任何额外的代码。 但是:您也可以更改datagrid的selectionmode属性;您应该设置为selectRow。然后,您可以找到相应的事件,并将按钮下的代码移动到该事件中使用DataGridView的事件
无论是通过编程还是通过用户操作,只要选择单元格或取消选择,SelectionChanged事件就会发生。我尝试了这个方法,但没有任何帮助。谢谢你的回复。这应该行得通;你是否真的连接了活动或只是添加了代码??谢谢!,使用“事件”选项卡可以更改它。第二次提到SelectionChanged,也许我遗漏了什么,因为它没有改变任何东西。它应该是这样的:private void dgvRecipes_SelectionChangedobject sender,EventArgs e{code here}