我已经阅读了很多关于此按钮的文章和教程,每次尝试都不起作用。我在gridview
内点击,textboxes
只是不填充。以下是我尝试过的两个例子。
private void GridView01_MouseClick(object sender, MouseEventArgs e)
{
personIDTextBox.Text = GridView01.SelectedRows[0].Cells[0].Text.ToString();
comboBox1.Text = GridView01.SelectedRows[0].Cells[1].Text.ToString();
Txt_FirstName.Text = GridView01.SelectedRows[0].Cells[2].Text.ToString();
mIDDLENAMETextBox.Text = GridView01.SelectedRows[0].Cells[3].Text.ToString();
}
错误CS1061'DataGridViewCell'不包含的定义 '文字',没有扩展方法'文字'接受第一个参数 可以找到类型'DataGridViewCell'(你错过了使用 指令或汇编参考?
答案 0 :(得分:1)
FYI展望未来,如果继续使用StackOverflow,您应该确保包含WinForms,WPF或ASP.NET的标记(或者至少在帖子中指定它),并确保指出完整类型您正在使用的控件。您使用了DataGridView
,但是将其命名为GridView01
,这会让我们感到困惑,因为WinForms DataGridView
control和ASP.NET GridView
control具有与之关联的不同属性和方法。因此,一个人建议的答案可能无效,因为他们误将您的控制误认为是另一个人。我在原始帖子的评论中链接的另一个StackOverflow问题是ASP.NET GridView
控件,这就是为什么我们认为您应该访问Text
属性。只有声明它实际为DataGridView
的错误消息才能确定您实际使用哪个控件;)
无论如何,我创建了一个小的WinForms应用程序,只有DataGridView
和Textbox
控件。在我的Form_Load
事件中,我向我的DataGridView
添加了一些包含文本数据的行,如下所示:
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 10; i++)
{
DataGridViewRow dgvr = (DataGridViewRow)dataGridView1.Rows[0].Clone();
for (int j = 0; j < 3; j++)
{
switch j)
{
case 0:
dgvr.Cells[j].Value = "A - " + i;
break;
case 1:
dgvr.Cells[j].Value = "B - " + i;
break;
case 2:
dgvr.Cells[j].Value = "C - " + i;
break;
}
}
dataGridView1.Rows.Add(dgvr);
}
}
你当然不需要这样做,我只是告诉你我做了什么,所以没有任何谜团。
然后我向SelectionChanged
控件添加了DataGridView
个事件。我似乎没有可用的Mouse_Click
事件,因此我在属性表中设置了myDataGridView.SelectionMode = FullRowSelect
。这使得您无法选择单个单元格,而是单击单元格选择整个行。这保证了* SelectedRows
属性中的某些内容。
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
textBox1.Text = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
}
}
这正确地将所选行中第一个单元格的值转储到我的文本框中:
然后您需要做的就是设置哪个文本框使用哪个单元格索引。
修改:示例&#39;立即窗口&#39;输出;
编辑2:确保应用程序正在运行,设置断点,在DataGridView
中选择一个新行,然后在即时窗口中输入该行,如下所示:{{ 3}}
答案 1 :(得分:0)
private void GridView01_MouseClick(object sender, MouseEventArgs e)
{
personIDTextBox.Text = GridView01.SelectedRows[0].Cells[0].Text;
comboBox1.Text = GridView01.SelectedRows[0].Cells[1].Text;
Txt_FirstName.Text = GridView01.SelectedRows[0].Cells[2].Text;
mIDDLENAMETextBox.Text = GridView01.SelectedRows[0].Cells[3].Text;
}
只需使用此代码替换即可。