我试图得到一个答案,但到目前为止,没有任何帮助能够做到我想要的。
我有这段代码,用于查看所选行并将其列输出到相应的文本框中。
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();
}
}
当我启动程序时,我没有错误,但它没有将数据输出到文本框中。谁知道我做错了什么?
答案 0 :(得分:1)
追踪事件:
在VS中学习编码是最基本的事情。简而言之,这意味着事件名称DataGridView01_SelectionChanged
与事件相关联。要执行此操作,可以使用代码,也可以将其插入属性选项卡的事件窗格的正确插槽中。选择DataGridView
,打开事件窗格(带闪存的窗格)并找到SelectionChanged事件!在这里插入事件的名称,你就完成了。
(我只安装了德语版的VS ..)
结果反映在form_designer.cs文件中,与双击该点并填充生成的代码存根相同(反过来)。
控件有很多事件;一个是默认事件,这可以通过设计器中的双击控件本身来生成。但最终你需要所有3种方法来生成和挂钩这些事件(以及有时删除它们。)
答案 1 :(得分:0)
在尝试从datagridview获取数据时,我使用了稍微不同的方法。
尝试personIDTextBox.Text = DataGridView01.SelectedCells[0].Value.ToString();
但不是选择更改时的事件,而是切换到CellClick
并将datagridview行选择属性的属性更改为完整行选择。之后,您可以更改SelectedCell[0]
数字以匹配您想要的任何单元格
答案 2 :(得分:0)
如果要将datagridview选中的行显示到相应的文本框中,请执行以下步骤,
第1步: 1.在Datagridview属性中将DataGridView选择模式更改为 FullRowSelect 。 2.使用属性在数据网格视图中创建单元格单击事件。 enter image description here 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();
}
}