Foros del Web » Programación para mayores de 30 ;) » .NET »

Como Reordeno filas de un datagridview C#

Estas en el tema de Como Reordeno filas de un datagridview C# en el foro de .NET en Foros del Web. Hola, deseo deordenar las filas de un datagriview osea: *Subir un nivel *Subir al inicio *Bajar un nivel *Bajar al final gracias por su atención....
  #1 (permalink)  
Antiguo 11/11/2009, 16:56
Avatar de ALTERUS  
Fecha de Ingreso: abril-2009
Mensajes: 20
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Como Reordeno filas de un datagridview C#

Hola, deseo deordenar las filas de un datagriview osea:
*Subir un nivel
*Subir al inicio
*Bajar un nivel
*Bajar al final
gracias por su atención.
  #2 (permalink)  
Antiguo 11/11/2009, 20:49
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Como Reordeno filas de un datagridview C#

Te refieres a mover toda una fila hacia abajo, arriba, inicio y/o final?
O darle el foco a una fila mediante botones? (arriba, abajo, etc)
__________________
Eduardo Peredo
Wigoin
  #3 (permalink)  
Antiguo 12/11/2009, 04:36
 
Fecha de Ingreso: septiembre-2009
Ubicación: Galicia
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Como Reordeno filas de un datagridview C#

Hola!

pero entonces no quieres reordenar, quieres desplazarte por las filas ¿no?

Si es eso, te valdría con los botones que movieran el Current Cell:

'primero
DataGrid.CurrentCell = DataGrid.Rows(0).Cells(0)

'anterior
DataGrid.CurrentCell = DataGrid.Rows(DataGrid.CurrentRow.Index - 1).Cells(0)

'siguiente
DataGrid.CurrentCell = DataGrid.Rows(DataGrid.CurrentRow.Index + 1).Cells(0)

'último
DataGrid.CurrentCell = DataGrid.Rows(DataGrid.Rows.Count - 1).Cells(0)


Saludos!
  #4 (permalink)  
Antiguo 12/11/2009, 07:21
Avatar de ALTERUS  
Fecha de Ingreso: abril-2009
Mensajes: 20
Antigüedad: 15 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Como Reordeno filas de un datagridview C#

Cita:
Iniciado por eperedo Ver Mensaje
Te refieres a mover toda una fila hacia abajo, arriba, inicio y/o final?
O darle el foco a una fila mediante botones? (arriba, abajo, etc)
exacto eso es lo que quiero hacer...!
Tienes una idea de como puedo hacer esto?
  #5 (permalink)  
Antiguo 12/11/2009, 08:25
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Como Reordeno filas de un datagridview C#

Cita:
exacto eso es lo que quiero hacer...!
Tienes una idea de como puedo hacer esto?
A cual de los 2 preguntas dices "exacto"

Si es la primera, la data que mostrarás la traes desde una base de datos??? Si es así se complica un poco porque cuando la grilla está enlazada a un origen de datos no se pueden agregar filas mediante código.
En todo caso deberías moverlas desde el DataTable ( si es que los traes en un datatable)
Algo así:
Código c#:
Ver original
  1. //Subir una fila
  2. DataRow dr = dt.NewRow();
  3. dr[0] = this.dataGridView1.SelectedCells[0].Value.ToString();
  4. dr[1] = this.dataGridView1.SelectedCells[1].Value.ToString();  
  5. //
  6. dt.Rows.RemoveAt(this.dataGridView1.CurrentRow.Index);
  7. dt.Rows.InsertAt(dr, this.dataGridView1.CurrentRow.Index-1);
  8. this.dataGridView1.DataSource = dt;

Primero creamos una nueva fila con los datos de la que está seleccionada en la grilla. Luego la eliminamos del DataTable y la insertamos restándole uno al índice.
Luego volvemos a enlazar a la grilla con el datatable.
Este código no lo he probado, a primera vista debería funcionar bien

Espero te de una idea
__________________
Eduardo Peredo
Wigoin
  #6 (permalink)  
Antiguo 12/11/2009, 09:15
 
Fecha de Ingreso: septiembre-2009
Ubicación: Galicia
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Como Reordeno filas de un datagridview C#

yo aún no sé que quiere hacer, jeje
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:19.