如何从数据网格视图中选择行并显示在文本框中

本文关键字:显示 文本 选择 数据 数据网 网格 视图 | 更新日期: 2023-09-27 18:25:13

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

如何从数据网格视图中选择行并显示在文本框中

如果您只想显示单击行中"Text"列的值,您应该能够执行以下操作:

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"引用也是有效的,但我认为使用处理程序的参数会更好一些。