Estoy tratando de conseguir el DataGridView para representar el «insertar una nueva fila» de la fila como la primera fila de la cuadrícula en lugar de la última fila. ¿Cómo puedo hacerlo, es posible incluso que en el control?

OriginalEl autor Egil Hansen | 2008-11-04

7 Comentarios

  1. 7

    No creo que hay alguna forma de mover la «nueva fila» fila en la parte superior de la cuadrícula de datos.

    Pero, ¿y si a la izquierda de la fila superior vacíos y los datos cumplimentados en mover la fila de abajo de la adecuada? En otras palabras, hacer su propio «nueva fila» de la fila, que es sólo la primera fila de la cuadrícula y agregar nuevas filas en blanco por encima de cuando es la edición más.

       Dim myrow = existingDataTable.NewRow
    
        existingDataTable.Rows.Add(myrow)
    
        adp.Fill(existingDataTable)
        With DataGridView1
            .DataSource =existingDataTable
        End With    
    hmm que podría funcionar. No estoy seguro de cómo iba a funcionar con el enlace de datos, etc., pero voy a tener que experimentar un poco con él.

    OriginalEl autor jons911

  2. 4

    Si usted no está utilizando los controles enlazados, dgvItems.Las filas.Insertar( ) le permite especificar la ubicación de la fila se inserta.

    Si usted está usando un datagridview enlazado, sin un tipo activo, añadir la nueva fila a la fuente de datos en la ubicación deseada:

    BoundTable.Las filas.InsertAt(BoundTable.Las filas.NewRow(), RowLocation);

    He encontrado una interesante relación, si hay modificaciones en la fila actual y la fila no se ha comprometido con el origen de datos (es decir, usted acaba de comenzar a introducir los datos), parece ser necesario para mover la celda activa a otra fila para confirmar los cambios antes de la inserción de filas.

    Corder accidentalmente publicado antes de que estoy totalmente de leer tu comentario, pero de seguir para cualquier persona difusa en su descripción. Sin embargo, esto es en mi opinión la manera más eficaz de hacer esto si usted no está buscando para trabajar con clave única de identificación.

    OriginalEl autor

  3. 1

    Se puede asignar un valor temporal a la nueva fila de la tecla que está a menos de todas las filas existentes? A continuación, ordenar un DataView por que la clave y obligar a la vista de cuadrícula.

    Mi equipo utiliza los números negativos como identificadores de fila hasta que la fila se ha insertado en la base de datos. No recuerdo nuestras nuevas filas que se muestran en la parte superior, pero no tenemos que como un requisito.

    OriginalEl autor Jeremy Bade

  4. 1

    Y si todo lo demás falla el hacky manera sería poner una separada de la línea de DataGridView por encima de la existente, clon de sus columnas, y el alambre hasta la fila en la presentación del evento para agregar los datos a la inferior 🙂

    OriginalEl autor xyz

  5. 1

    Estás consumiendo el evento RowDataBound? Si es así, usted puede comprobar para ver si usted es la unión de la fila de encabezado de columna y, a continuación, agregue el código apropiado para insertar una fila justo debajo de eso.

    De esta forma cuando el contenido de las filas están obligados, no hay ninguna confusión con el tema de los índices que intervienen, a pesar de que me gustaría recomendar el uso de algunos DataKeys o algo por si acaso. Además, utilizando el evento RowDatabound le permitiría tener un «insertar fila» disponible cuando el usuario páginas de un bloque diferente de filas en el GridView.

    OriginalEl autor Dillie-O

  6. 1

    Como al-E dijo, uso Insert en lugar de Add. De esta manera usted puede especificar dónde desea agregar el nuevo registro. Para agregar un nuevo registro en la parte superior de la cuadrícula, sólo tiene que utilizar Insert(0).

    DataGridView1.Rows.Insert(0) esto va a agregar un nuevo registro en la parte superior, siempre

    DataGridView1.Rows(0).Cells(n).Value = "abc" este se establece el valor en la columna n

    OriginalEl autor banifesto

  7. -2

    Estoy asumiendo que significa que cuando usted desea agregar una nueva fila, desea que la fila para ser realmente insertado en la parte superior de la tabla, en lugar de la parte inferior de la tabla como predeterminado? Bueno, si esto es así, usted no tiene que lidiar con la ordenación o los valores de la clave; simplemente hacer como tales con el método Insert:

    ‘Crear una nueva fila

    Dim tmpRow = New DataGridViewRow

    ‘Ajustar la fila de alguna manera

    tmpRow.Altura = _cellRectSize

    ‘Agregar la fila para DataGridView(he.e dgvEditor) en la parte superior(índice = 0)

    Mí.dgvEditor.Las filas.Insert(0, tmpRow)

    Funciona como un encanto para mí, espero que ayude a alguien más!

    OriginalEl autor While-E

Dejar respuesta

Please enter your comment!
Please enter your name here