我正在做一个c#项目。我已经创建了表格。在我的用户表单中,有 3 个用户详细信息输入字段,如用户名、电话号码和密码。当我单击“添加”按钮时,它将详细信息添加到数据库中并显示在名为“usersgv”的网格视图中。用户详细信息在 usersgv 中查看,因为一个用户详细信息(用户名、电话号码和密码)存储在一行中。
我想要的是,当我单击一行时,所选行中的详细信息(例如用户名、电话号码和密码)应自动填充到相关的输入字段中。我使用了这个代码部分。
unameTb.Text = usersgv.SelectedRows[0].Cells[0].Value.ToString();
uphoneTb.Text = usersgv.SelectedRows[0].Cells[1].Value.ToString();
upassTb.Text = usersgv.SelectedRows[0].Cells[2].Value.ToString();
当我运行程序时,当我单击一行时,详细信息不会填写到相关的输入字段中。 我该如何解决这个问题?
我尝试测试你的问题,它按照评论中的建议运行得很好。这是我在 CellClick 事件中的代码:
private void usersgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
if(usersgv.CurrentRow.Cells[0].Value != null)
{
unameTb.Text = usersgv.CurrentRow.Cells[0].Value.ToString();
uphoneTb.Text = usersgv.CurrentRow.Cells[1].Value.ToString();
upassTb.Text = usersgv.CurrentRow.Cells[2].Value.ToString();
}
}
它应该是这样的: