复制DataGridView的内容到多个文本框
本文关键字:文本 DataGridView 复制 | 更新日期: 2023-09-27 18:10:06
我有一个DataGridView与3列,我想当我点击一个单元格,从它的内容将被复制到2个不同的文本框和1个组合框。到目前为止,我只遇到了这样的情况:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Rows.CopyTo = txtCveMun.Text;
}
上面的根本不起作用,这只是我在库中弄乱的东西。那么,我该怎么办呢?谢谢!
如果有人关心,这是我填充我的DataGridView的方法:
private void CargaDataGridView()
{
conexion.Open();
try
{
cmd.CommandText = "SELECT m.cvemunicipio, m.nombre AS NombreA, e.nombre AS NombreB FROM tbMunicipios m INNER JOIN tbEstados e ON m.CveEstado = e.CVeEstado";
rd = cmd.ExecuteReader();
while (rd.Read())
{
this.dataGridView1.Rows.Add(rd.GetValue(0), rd.GetValue(1), rd.GetValue(2));
}
conexion.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
编辑
完整的答案是
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
txtCveMun.Text = dataGridView1.SelectedRows[0].Cells["Column1"].Value.ToString();
txtNomMun.Text = dataGridView1.SelectedRows[0].Cells["Column2"].Value.ToString();
cbEstado.Text = dataGridView1.SelectedRows[0].Cells["Column3"].FormattedValue.ToString();
}
首先您必须将DatagridView选择模式设置为FullRowSelect
,然后您可以通过:
dataGridView1.SelectedRows[0].Cells["ColummName"].Value.ToString();
如果你想从DataGridView复制内容到你的控件,例如文本框,你可以使用行和单元格收集在CellContentClick事件中获取单元格的值。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
txtCveMun.Text = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}
如果你想从当前行中获取单元格的值,那么你可以使用列名。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
txtCveMun.Text = dataGridView1.Rows[e.RowIndex].Cells["gridViewColumnName1"].Value.ToString();
txtSomeControl.Text = dataGridView1.Rows[e.RowIndex].Cells["gridViewColumnName2"].Value.ToString();
}