我试图得到这个问题的答案,但到目前为止没有任何帮助能够做我想做的事。
我有这段代码,它的目的是查看所选行并将其列输出到相应的文本框中。
private void DataGridView01_SelectionChanged(object sender, EventArgs e)
{
if (DataGridView01.SelectedRows.Count > 0)
{
personIDTextBox.Text = DataGridView01.SelectedRows[0].Cells[0].Value.ToString();
comboBox1.Text = DataGridView01.SelectedRows[0].Cells[1].Value.ToString();
Txt_FirstName.Text = DataGridView01.SelectedRows[0].Cells[2].Value.ToString();
mIDDLENAMETextBox.Text = DataGridView01.SelectedRows[0].Cells[3].Value.ToString();
sURNAMETextBox.Text = DataGridView01.SelectedRows[0].Cells[4].Value.ToString();
cITYTextBox.Text = DataGridView01.SelectedRows[0].Cells[5].Value.ToString();
eMAILTextBox.Text = DataGridView01.SelectedRows[0].Cells[6].Value.ToString();
}
}
当我启动程序时,我没有收到任何错误,但它不会将数据输出到文本框中。有人知道我做错了什么吗?
连接活动:
这是你需要学习在 VS 中编写代码的最基本的东西。简而言之就是事件名称的意思,这里
DataGridView01_SelectionChanged
与事件相关联。为此,可以使用代码,也可以将其插入属性选项卡事件窗格的正确插槽中。选择 DataGridView
,打开事件窗格(带有闪光灯的窗格)并找到 SelectionChanged 事件!在这里插入活动名称即可完成。
(我只安装了德语版的VS..)
结果反映在 form_designer.cs 文件中,与双击该位置然后填写生成的代码存根是相同的(相反)。
控件有很多事件;一个是 default 事件,可以通过在设计器中双击控件本身来生成。但最终您将需要所有 3 种方法来生成和连接事件(有时还需要删除它们。)
在尝试从 datagridview 获取数据时,我使用了稍微不同的方法。
尝试做
personIDTextBox.Text = DataGridView01.SelectedCells[0].Value.ToString();
但不是选择更改时的事件,而是切换到
CellClick
并将 datagridview 行选择属性的属性更改为全行选择。之后,您可以更改 SelectedCell[0]
数字以匹配您想要的任何单元格
如果您想将 datagridview 选定的行显示到相应的文本框中,请执行以下步骤,
第1步: 1. 在 Datagridview 属性中将 DataGridView 选择模式更改为 FullRowSelect。 2. 使用属性在数据网格视图中创建单元格单击事件。 在此输入图片描述 3. 编写下面的代码并测试一下,可能会有帮助
private void DataGridView01_CellClick(object sender,DataGridViewCellEventArgs e)
{
if (DataGridView01.Rows.Count > -1)
{
PersonIdTextBox.Text=DataGridView01.Rows[e.RowIndex].Cells[0].Value.ToString();
comboBox1.Text = DataGridView01.Rows[e.RowIndex].Cells[1].Value.ToString();
Txt_FirstName.Text = DataGridView01.Rows[e.RowIndex].Cells[2].Value.ToString();
mIDDLENAMETextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[3].Value.ToString();
sURNAMETextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[4].Value.ToString();
cITYTextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[5].Value.ToString();
eMAILTextBox.Text = DataGridView01.Rows[e.RowIndex].Cells[6].Value.ToString();
}
}
RowEnter_Event 是什么 获取您的数据 e.RowI