有两个表单,其中表单1在数据网格视图中显示数据库,其中包含3列:id, name, text
。
当我点击表单1中的“编辑”按钮时,我想在表格2的文本框中显示列“文本”。这是编辑和删除按钮代码:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.Columns[e.ColumnIndex].Name == "Delete")
{
if (MessageBox.Show("Are you sure to delete?", "Deleting...", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
dataGridView1.Rows.RemoveAt(e.RowIndex);
dataGridView1.ClearSelection();
}
}
else if (dataGridView1.Columns[e.ColumnIndex].Name == "Edit")
{
Form2 form = new Form2();
form.Show();
Hide();
}
}
答案 0 :(得分:0)
如果您只想显示点击行中“文本”列的值,您应该能够执行以下操作:
else if (dataGridView1.Columns[e.ColumnIndex].Name == "Edit")
{
Form2 form = new Form2();
form.textBox1.Text = ((DataGridView)sender).Rows[e.RowIndex].Cells["Text"].Value.ToString();
form.Show();
Hide();
}
这会从名为“Text”的相关单元格中获取值,并将其放入新表单文本框的Text中(假设该文本框名为“textBox1”。
请注意,对于此事件处理程序,发件人是单击的网格。通过属性名称“dataGridView1”引用它也是有效的,但我认为使用处理程序的参数是一种更好的形式。