¿Cómo oculto toda una fila de DataGridView si el índice de la columna 0 contiene una cadena específica en C#?
Lo que he hecho hasta ahora:
DataSet dataSet = new DataSet();
dataSet.ReadXml(dialog.FileName);
dataGridView1.DataSource = dataSet.Tables[0];
MessageBox.Show(this.dataGridView1.Columns["Visible"].Index.ToString());//Para ocultar - devuelve 0
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
if (dr.Cells[0].Value.ToString() == "False")
{
dr.Visible = false;
}
}
Estoy tratando de ocultar la fila completa en la que el valor de la columna Visible
es False
davy.ai
Hasta ahora, he creado un objeto DataSet y he leído un archivo XML en él utilizando el método
ReadXml()
. Luego, he establecido el origen de datos del control DataGridView en la primera tabla del DataSet utilizandodataGridView1.DataSource = dataSet.Tables[0];
.A continuación, he mostrado el índice de la columna “Visible” utilizando
MessageBox.Show(this.dataGridView1.Columns["Visible"].Index.ToString());
para confirmar qué índice de columna utilizar al ocultar filas.Finalmente, he recorrido todas las filas en el control DataGridView utilizando un bucle foreach y he verificado el valor de la columna “Visible” para cada fila. Si el valor es “False”, he establecido la propiedad
Visible
de esa fila enfalse
para ocultarla por completo, utilizandodr.Visible = false;
.El resultado de este código debería ser que todas las filas donde el valor de la columna “Visible” sea “False” se ocultarán de vista en el control DataGridView.