如何从Datagirdview中选择Row并在文本框中显示?

时间:2015-12-02 03:06:03

标签: c# winforms

有两个表单,其中表单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();
        }
    }    

1 个答案:

答案 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”引用它也是有效的,但我认为使用处理程序的参数是一种更好的形式。