Ocultar una fila en DataGridView

Soy un nuevo usuario vb.net y la necesidad de ocultar una fila cuando un usuario hace clic en un contextmenu y selecciona ocultar. He buscado en google este, pero todavía tienen que encontrar una manera de hacerlo.

Por el momento, cuando un usuario hace clic en una entrada en la red, el valor se introduce en un cuadro de texto que está bien. Lo que necesito hacer es ocultar la entrada el usuario haga clic en y ocultar la selección. Como soy nueva me resulta difícil ir a este código como acabo de terminar mi primer curso que implica los conceptos básicos. Se agradece cualquier ayuda o si necesita más código, a continuación, por favor pregunte.

Dim value As Object = UserDataGridView.Rows(e.RowIndex).Cells(0).Value

txtCustomerActive.Text = CType(value, String)

Private Sub HideToolStripMenuItem_Click(ByVal sender As Object, ByVal e As EventArgs) Handles pnlContextMenuStrip1.ItemClicked
        'Get the text of the item that was clicked on.
        'Dim text As String = txtCustomerActive.Text
        Try

            'txtCustomerActive.Visible = False
            pnlContextMenuStrip1.Visible = False
            MessageBox.Show(txtCustomerActive.Text)

        Catch ex As Exception

            MessageBox.Show(ex.Message)

        End Try

    End Sub
  • No parece posible afectar la visibilidad de una sola célula: stackoverflow.com/questions/6359952/…
  • Necesito ocultar la fila entera. Gracias
  • Usted debe ser más claro en su respuesta, no hay ninguna referencia a la fila; pero diferentes a las células. (versión actualizada para evitar malos entendidos :))
InformationsquelleAutor user1532468 | 2013-11-08

2 Kommentare

  1. 6

    Usted podría utilizar Rows.Item() para ocultar determinados DataGridViewRow, como:

     If (UserDataGridView.Rows.Count > 0) Then
         For Each row As DataGridViewRow In UserDataGridView.SelectedRows
             UserDataGridView.Rows.Item(row.Index).Visible = False
         Next
     End If

    Estoy asumiendo que usted está utilizando FullRowSelect aquí.

    Si usted no está utilizando FullRowSelect usted podría tener esta alternativa de código que podría atrapar tanto Cell ser Seleccionado o Row ser Seleccionado:

      If (UserDataGridView.SelectedRows.Count > 0) Then
         For Each row As DataGridViewRow In UserDataGridView.SelectedRows
             UserDataGridView.Rows.Item(row.Index).Visible = False
         Next
      ElseIf (UserDataGridView.SelectedCells.Count > 0) Then
         For Each cell As DataGridViewTextBoxCell In UserDataGridView.SelectedCells
             UserDataGridView.Rows.Item(cell.RowIndex).Visible = False
         Next
      End If

    A Unhide todo lo que vamos a decir de un Button Click usted podría tener este:

     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        For Each row As DataGridViewRow In UserDataGridView.Rows
            If (row.Visible = False) Then
                UserDataGridView.Rows.Item(row.Index).Visible = True
            End If
        Next
     End Sub
    • El OP no desea eliminar la fila, sólo para ocultarlo. Y por lo tanto él debe confiar en la propiedad Visible de la fila.
    • He intentado tanto en los códigos de Edper y error con: Fila asociada con el administrador de moneda de la posición no puede ser invisible.
    • Creo que he encontrado una respuesta. He utilizado UserDataGridView.CurrentCell = Nada en el bucle for each y que parecía funcionar Es que se puede utilizar allí?
    • No parece ser un problema Si me cierre el programa y vuelva a ejecutar las filas que se mostrarán. Necesito hacer permanente y tienen la capacidad de mostrar todos los clientes. Yo pensaba que el uso de su código en mostrar un menú y haga clic en cambiar visible en true iba a funcionar pero doesnt. Cualquier consejo. Gracias
    • Cualquier ayuda con esto o se me marca como respondió que, con toda justicia, que usted tiene. Sólo pensé en pedir ayuda adicional.Saludos
    • Comprobar mi actualización a Unhide TODAS las filas que están Hidden.
    • Es allí una manera de hacer que los elementos ocultos permanecer oculto, incluso cuando el programa se reinicia de manera que sólo puedan ser mostradas cuando hago clic en el botón. Muchas gracias por el código actualizado.
    • Cuando el programa se reinicia todas las cosas en la memoria se pierde incluyendo el datagridview y, por supuesto, las filas ocultas. Usted puede también almacenar en la Base de datos el último estado de esta filas ocultas, de modo que cuando el programa se reinicia usted puede cargar en el DataGridView y ocultar las filas que se Hidden=True por ejemplo.
    • Así que ¿eso significa que cuando un usuario haga clic en el botón ocultar, hago un llamado a la db después de que he creado un campo oculto, y de actualización. Gracias
    • Sí, o usted podría hacer la actualización cuando el usuario hace clic en un botón para cerrar el Formulario, de modo que usted no tiene que actualizar cada vez.
    • Muchas gracias. Si me encuentro con algún problema con esto, voy a hacer de nuevo post. Muchas gracias por toda su ayuda.
    • Me alegra ser de ayuda. Feliz codificación y que DIOS los bendiga.

  2. 0

    Que yo sepa, no se puede hacer en el lado del servidor controlador de botón derecho del ratón (como se hizo para HideToolStripMenuItem_Click, que funciona como parte de .NET mecanismo de devolución).

    Sin embargo, yo creo que esta característica podría ser realizada con javascript del lado cliente progamming.

    Espero que esto ayude!

    • Wow, de hecho, usted puede =) stackoverflow.com/questions/1718389/…
    • Si te das cuenta de algo, acabo de actualizar tu respuesta; no publicar comentarios. También, sería una buena idea tener más o menos buenos conocimientos sobre el tema específico antes de contestar. Al menos, conocer la exacta marco: usted está asumiendo que el OP se refiere a ASP y todo lo que en su pregunta, parece indicar lo contrario (usted incluso no tiene un control llamado DataGridView en ASP).

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Recent Articles

Python «set» con duplicados/elementos repetidos

Hay una forma estándar de representar un "conjunto" que puede contener elementos duplicados. Como yo lo entiendo, un conjunto tiene exactamente un cero o...

Python: generador de expresión vs rendimiento

En Python, ¿hay alguna diferencia entre la creación de un generador de objetos a través de un generador de expresión versus el uso de...

Cómo exportar/importar la Masilla lista de sesiones?

Hay una manera de hacer esto? O tengo que tomar manualmente cada archivo de Registro? InformationsquelleAutor s.webbandit | 2012-10-23

no distingue mayúsculas de minúsculas coincidentes en xpath?

Por ejemplo, para el xml a continuación <CATALOG> <CD title="Empire Burlesque"/> <CD title="empire burlesque"/> <CD...