es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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;
                    }
                }

El gridview
enter image description here

Estoy tratando de ocultar la fila completa en la que el valor de la columna Visible es False

Tags:  , ,

Answer

  1. Avatar for 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 utilizando dataGridView1.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 en false para ocultarla por completo, utilizando dr.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.

Comments are closed.