关闭。这个问题需要更加突出重点。它目前不接受答案。**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。改进这个问题我有一个datagridview,其中的行只显示员工的姓名和id。当我双击datagridview中的数据时,另一个窗体将显示该雇员的数据和datagridview中未包含的其他值。我该怎么做?谢谢。
fzwojiic1#
如果我没有误解的话,您正在填充一个datagridview,它只从employees表中选择id和name。如果您希望通过双击单元格以另一种形式显示datagridview中未包含的其他值,则必须添加一个名为 dataGridViewName_CellDoubleClick .在事件中,您必须检索已单击的员工id:
dataGridViewName_CellDoubleClick
int id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);
这样做就是选择已单击行的单元格[0](在我的示例中是employee id)。将id传递给另一个窗体很简单:要显示其他值的窗体:
int EmployeeId; public Form2(int employeeId) { EmployeeId = employeeId; InitializeComponent(); }
获取id后在双击事件中:
Form2 form = new Form2(id); form.Show();
一旦您有了雇员的id,您就可以从数据库中获取其他值。希望这有帮助。
ipakzgxi2#
有一个属性 DataGridViewRow 打电话 Tag 您可以使用它来存储任何对象—您可以使用它来存储雇员的完整属性集合,并在双击行时将其传递给另一个窗体
DataGridViewRow
Tag
2条答案
按热度按时间fzwojiic1#
如果我没有误解的话,您正在填充一个datagridview,它只从employees表中选择id和name。
如果您希望通过双击单元格以另一种形式显示datagridview中未包含的其他值,则必须添加一个名为
dataGridViewName_CellDoubleClick
.在事件中,您必须检索已单击的员工id:
这样做就是选择已单击行的单元格[0](在我的示例中是employee id)。
将id传递给另一个窗体很简单:
要显示其他值的窗体:
获取id后在双击事件中:
一旦您有了雇员的id,您就可以从数据库中获取其他值。
希望这有帮助。
ipakzgxi2#
有一个属性
DataGridViewRow
打电话Tag
您可以使用它来存储任何对象—您可以使用它来存储雇员的完整属性集合,并在双击行时将其传递给另一个窗体