Foros del Web » Programando para Internet » ASPX (.net) »

Ordenar un dataset

Estas en el tema de Ordenar un dataset en el foro de ASPX (.net) en Foros del Web. Hola a todos!!! Alguien podría decirme como se ordena los datos en un dataset. Necesito una forma de ordenarlo pero que no sea por el ...
  #1 (permalink)  
Antiguo 01/09/2006, 11:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 9
Antigüedad: 17 años, 8 meses
Puntos: 0
Ordenar un dataset

Hola a todos!!!
Alguien podría decirme como se ordena los datos en un dataset. Necesito una forma de ordenarlo pero que no sea por el "order by" en la propia consulta.
Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 01/09/2006, 12:33
Avatar de Zay
Zay
 
Fecha de Ingreso: agosto-2006
Ubicación: Veracruz
Mensajes: 91
Antigüedad: 17 años, 8 meses
Puntos: 0
Un Algoritmo de Ordenación

No ubico bien tu, problema.... es una buena opción el "Order by". Y Sino en todo caso con un algoritmo de ordenación te podria resultar bueno.

Trata de recuperar los datos, y meterlos en un array y de ahi aplicar el algoritmo. Una vez terminado esto tendras en un array tus datos ordenados.

Saludos.
  #3 (permalink)  
Antiguo 01/09/2006, 15:28
 
Fecha de Ingreso: agosto-2006
Mensajes: 101
Antigüedad: 17 años, 8 meses
Puntos: 0
Mete los datos en un ArrayList y luego haces un método sort del mismo y luego ya los vuelves a volcar.

Saludos.

Última edición por dvelazquez; 08/08/2007 a las 02:24
  #4 (permalink)  
Antiguo 01/09/2006, 15:40
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Cita:
Iniciado por srforoweb Ver Mensaje
Hola a todos!!!
Alguien podría decirme como se ordena los datos en un dataset. Necesito una forma de ordenarlo pero que no sea por el "order by" en la propia consulta.
Desde ya muchas gracias.
A ver si no estoy diciendo tonterias, pero se me ocurre: De dataset a dataview, en tu dataview haces el ordenamiento y luego actualizas tu dataset con el dataview ordenado.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 01/09/2006, 16:03
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 18 años, 9 meses
Puntos: 0
fijate que los dataset traen la propiedad " AllowSORT "
si haces clik en tu dataset con el boton derecho del mouse, busca " generador de propiedades"
luego, localiza tu bound collum que sera por la cual ordenes tu dataset. alli, en el campo SortExpression le pones el nombre del campo por el cual vas a ordenar.....
luego en las propiedades del dataset, le pones true a la opcion allowsort
y listo

espero e sirva
__________________
Facil ! Lo unico que hay que hacer para no ser animal, es razonar !
  #6 (permalink)  
Antiguo 02/09/2006, 11:09
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 4 meses
Puntos: 98
Cita:
Iniciado por juanpablomonte Ver Mensaje
fijate que los dataset traen la propiedad " AllowSORT "
si haces clik en tu dataset con el boton derecho del mouse, busca " generador de propiedades"
luego, localiza tu bound collum que sera por la cual ordenes tu dataset. alli, en el campo SortExpression le pones el nombre del campo por el cual vas a ordenar.....
luego en las propiedades del dataset, le pones true a la opcion allowsort
y listo

espero e sirva

Estas hablando de un dataset o de un datagrid?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 02/09/2006, 11:17
 
Fecha de Ingreso: julio-2005
Ubicación: Córdoba
Mensajes: 254
Antigüedad: 18 años, 9 meses
Puntos: 0
estoy hablando de un objeto dataset ( version de vis.net 2002) que podes usar, en vez de hacerlo por codigo. se encuentra en la parte de las herramientas. La propiedad es sort y ordena por un campo de datos
__________________
Facil ! Lo unico que hay que hacer para no ser animal, es razonar !

Última edición por juanpablomonte; 02/09/2006 a las 11:31
  #8 (permalink)  
Antiguo 14/09/2006, 00:53
 
Fecha de Ingreso: mayo-2005
Mensajes: 36
Antigüedad: 19 años
Puntos: 0
u_goldman tu idea de pasar el dataset al dataview, ordenarlo y despues devolver el contenido actualizado al dataset esta muy bien pero como devuelves el dataview al dataset? Soy nuevo en .net y todavia ando un poco perdido.
  #9 (permalink)  
Antiguo 19/09/2006, 01:27
 
Fecha de Ingreso: mayo-2005
Mensajes: 36
Antigüedad: 19 años
Puntos: 0
Encontre la solucion:

Código:
Dim dt As New DataTable
dt = Me._ds.Tables(0)
Me._ds.Tables.Clear()
Me._ds.Tables.Add(New Data.DataView(dt, criterios, orden, DataViewRowState.CurrentRows).ToTable)
Saludos
  #10 (permalink)  
Antiguo 04/09/2007, 13:47
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Ordenar un dataset

Hola,

estoy probando eso de poder ordenar el dataset a través del dataview pero me da error de que "el datatable ya existe en el dataset".

como lo hiciste tu?

saludos
  #11 (permalink)  
Antiguo 04/09/2007, 13:51
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Ordenar un dataset

olvidad el último post, encontré por internet otra alternativa:

Cita:
Dataset1.Tables(0).DefaultView.Sort = "tuCampo ASC"
saludos
  #12 (permalink)  
Antiguo 06/09/2007, 12:49
 
Fecha de Ingreso: febrero-2006
Ubicación: Puerto Montt
Mensajes: 76
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Ordenar un dataset

Pregunta: Lo solucionaste ???
  #13 (permalink)  
Antiguo 10/09/2007, 05:37
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Ordenar un dataset

si. Con eso que he puesto en el último post lo solucioné.

saludos
  #14 (permalink)  
Antiguo 19/12/2007, 07:59
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Re: Ordenar un dataset

Cita:
Iniciado por freegirl Ver Mensaje
olvidad el último post, encontré por internet otra alternativa:
Dataset1.Tables(0).DefaultView.Sort = "tuCampo ASC"
saludos
freegirl, esta forma solo funciona para presentar los datos ordenados en un DataGrid, pero si haces un bucle al DataSet, los datos siguen desordenados:

Código:
For i As Integer = 0 To Dataset1.Tables(0).Rows.Count - 1
    ...
Next
¿Alguna idea de como ordenar los datos del DataSet que sea por alguna propiedad y no creando un arreglo ordenándolo y pasandolo al dataset?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #15 (permalink)  
Antiguo 19/12/2007, 10:10
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Re: Ordenar un dataset

Si haces las búsqueda en el propio defaultview sigue ordenado. No sé exactamente que quieres hacer pero por ejemplo:

Cita:
Private Sub BtLLenarDTS_Click (........)
'LLENO
Me.DataSet11.nombres.AddnombressRow("bbbbb")
Me.DataSet11.nombres.AddnombresRow("xxxxxx")
Me.DataSet11.nombres.AddnombressRow("aaaaa")
Me.DataSet11.nombres.AddnombressRow("fffff")
'ORDENO
Me.DataSet11.Tables(0).DefaultView.Sort = "campo ASC"
'RECUPERO EL 1ER VALOR Y ME DUEVELE: aaaaa
MsgBox(Me.DataSet11.Tables(0).DefaultView(0).Item( "campo"))
'RECUPERO EL 4º VALOR Y ME DUEVELE: xxxxxx
MsgBox(Me.DataSet11.Tables(0).DefaultView(4).Item( "campo"))
End sub
saludos
  #16 (permalink)  
Antiguo 19/12/2007, 13:17
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Re: Ordenar un dataset

Interesante!
Gracias
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
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:34.