[ad_1]
Hola, necesito ayuda para obtener los valores de datagridview a cuadros de texto. Tengo una vista de cuadrícula de datos que obtiene datos de SQL que cuenta 4 columnas y el número de filas recuperadas de SQL. Tengo 4 cuadros de texto. Quiero que los valores de columna de la fila seleccionada de Datagridview se muestren en el cajas de texto.
Amablemente consejo sobre lo mismo.
Solución 1
Probablemente querrás responder a la Evento DataGridView.SelectionChanged[^].
En su controlador, verifique si se ha seleccionado una sola fila, luego obtenga los valores de esa fila y colóquelos en los cuadros de texto.
private void DataGridView1_SelectionChanged(object sender, EventArgs e) { if( DataGridView1.SelectedRows.Count = 0 ) { TextBox1.Value = DataGridView1.SelectedRows(0).Cells(0).Value; TextBox2.Value = DataGridView1.SelectedRows(0).Cells(1).Value; TextBox3.Value = DataGridView1.SelectedRows(0).Cells(2).Value; TextBox4.Value = DataGridView1.SelectedRows(0).Cells(3).Value; } }
El código no ha sido probado y puede contener errores tipográficos.
Asegúrate que Propiedad DataGridView.SelectionMode[^] se establece en FullRowSelect
para que esto funcione.
Puedes usar Propiedad DataGridView.MultiSelect[^] para asegurarse de que solo se seleccione una fila a la vez.
Solución 3
Hola, ya va bien
private void dgviewSearch_CellcontentClick(object sender, DataGridViewCellEventArgs e) { int i; i = dgViewSearch.SelectedCells[0].RowIndex; textBox3.Text = dgViewSearch.Rows[i].Cells[1].Value.ToString(); textBox4.Text = dgViewSearch.Rows[i].Cells[3].Value.ToString(); }
Muchas gracias por su ayuda, espero con ansias una selección múltiple en datagridview al cuadro de texto con (coma) como (2001,2002,2003)
Solución 2
Registre el evento MouseClick de la cuadrícula y use el siguiente código.
private void dataGridView1_MouseClick(object sender, MouseEventArgs e) { DataGridViewRow dr = dataGridView1.SelectedRows[0]; textBox1.Text = dr.Cells[0].Value.ToString(); // or simply use column name instead of index //dr.Cells["id"].Value.ToString(); textBox2.Text = dr.Cells[1].Value.ToString(); textBox3.Text = dr.Cells[2].Value.ToString(); textBox4.Text = dr.Cells[3].Value.ToString(); }
Y agregue la siguiente línea en su evento de carga
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
Solución 8
privado vacío dgvAllUsers_CellContentClick (remitente del objeto, DataGridViewCellEventArgs e)
{
si (e.RowIndex >= 0)
{
Fila DataGridViewRow = this.dgvAllUsers.Rows[e.RowIndex];
textId.Text = fila.Celdas[“idUser”].Valor.ToString();
textFullName.Text = fila.Celdas[“FullName”].Valor.ToString();
textUserName.Text = fila.Celdas[“UserName”].Valor.ToString();
textPassword.Text = fila.Celdas[“Password”].Valor.ToString();
dirección de texto.Texto = fila.Celdas[“Address”].Valor.ToString();
textGender.Text = fila.Celdas[“Gender”].Valor.ToString();
textContactNumber.Text = fila.Celdas[“ContactNumber”].Valor.ToString();
ComboUserType.SelectedText = fila.Celdas[“UserType”].Valor.ToString();
}
}
Solución 9
Utilice siempre el evento GridView1_CellEnt porque si mueve las celdas con las teclas de flecha o hace clic con el mouse, será útil para ambos.
y use siempre if (dataGridView1.SelectedCells.Count > 0); de lo contrario, deberá seleccionar la fila completa.
dataGridView1_CellEnter vacío privado (remitente del objeto, DataGridViewCellEventArgs e)
{
if (dataGridView1.SelectedCells.Count > 0) // asegúrese de que el usuario seleccione al menos 1 fila
{
DataGridToTextboxes(e.RowIndex);
}
}
vacío privado DataGridToTextboxes (int x)
{
cadena Elemento1 = dataGridView1.Rows[x].Células[1].Valor + cadena.Vacío;
// cadena SrNo = filas seleccionadas.Celdas[0].Valor + cadena.Vacío;
// cadena Elemento1 = filas seleccionadas.Celdas[1].Valor + cadena.Vacío;
cadena MinRange = dataGridView1.Rows[x].Células[2].Valor + cadena.Vacío;
cadena MaxRange = dataGridView1.Rows[x].Células[3].Valor + cadena.Vacío;
cadena MinStable = dataGridView1.Rows[x].Células[4].Valor + cadena.Vacío;
cadena MaxStable = dataGridView1.Rows[x].Células[5].Valor + cadena.Vacío;
txtItem.Text = Artículo1;
TextMinRange.Text = MinRange;
TextMaxRange.Text = MaxRange;
TextMinStable.Text = MinStable;
TextMaxStable.Text = MaxStable;
}
[ad_2]
コメント