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

Ordenacion en datagrid con columnas enlazadas

Estas en el tema de Ordenacion en datagrid con columnas enlazadas en el foro de .NET en Foros del Web. La ordenación básicamente en un datagrid que enlazo con un dataset con paginación y columnas creadas automaticamente me va perfectamente y no tiene complicación. El ...
  #1 (permalink)  
Antiguo 21/04/2005, 03:34
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Ordenacion en datagrid con columnas enlazadas

La ordenación básicamente en un datagrid que enlazo con un dataset con paginación y columnas creadas automaticamente me va perfectamente y no tiene complicación.

El tema es que si decido crear las columnas a mano (tcolumnsa enlazadas ,columnas plantilla..) pierdo la posiblidad de clikar en las cabeceras de las columnas para ordenar.
¿cómo puedo tener ordenación con estas columnas???
  #2 (permalink)  
Antiguo 22/04/2005, 03:44
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Solucionado

Ya esta.Era ponerle sortexpression ala columna,poniendole su nombre de columna.
  #3 (permalink)  
Antiguo 22/04/2005, 04:25
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
hola NEIVAN

puedes decirme como haces para ordenar columnas hechas a mano ¿¿??


gracias!!
j@n

yo hago esto: y no funciona... pierdo el datagrid.........:

---

Hola,
Tengo un datagrid creado en el html y en el codebehind creo las columnas:

Dim column As BoundColumn = New BoundColumn
column.DataField = DataFieldValue
column.Visible = EsVisible
column.HeaderStyle.Width = Unit.Percentage(vTamano)
column.HeaderText = HeaderTextValue
column.SortExpression = DataFieldValue

¿Por qué no puedo ordenar las columnas?
al pulsar sobre el 'título' (header) de la columna SOLO hace el postback, no la función Consulta1_sort que asocio al datagrid.......... ¿¿??
¿Me falta algo?

El datagrid está definido con:
...
AllowSorting="true"
Onsortcommand="Consulta1_Sort"
AllowPaging="True"
...
  #4 (permalink)  
Antiguo 22/04/2005, 04:33
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Enseñame tu metodo de ordenacion Consulta1_Sort por q por lo q veo lo tienes bien.

Ya habia visto tu problemilla,gracias a tu tema solucione el mio.

Yo hacia ordenacion perfectamente con columnas creadas automaticamente,el tema es q no sabia q habia q definir la sortexpresion cuando las columnas las define uno mismo.Pero mi metodo de ordenacion sigue siendo el mismo.No cambia.

El tema era que no me salie la rayita debajo de las cabeceras de las columnas señal de que la ordenación esta activada.Hasta que a cada columna le he definido la sortexpresion.
  #5 (permalink)  
Antiguo 22/04/2005, 04:42
j@n
 
Fecha de Ingreso: febrero-2004
Mensajes: 178
Antigüedad: 20 años, 2 meses
Puntos: 0
_sort

el GRAN problema es que no entra en la función:

Cuando le das a la rayita dela cabecera... ¿entras en la función definida en el datagrid : Onsortcommand="Consulta1_Sort"?

me tiene loco

este es el código....: (qno se ejecuta nunca)

Sub Consulta1_Sort(ByVal sender As Object, ByVal e As DataGridSortCommandEventArgs)
If viewstate("columna") = e.SortExpression Then
If viewstate("orden") = "ASC" Then
viewstate("orden") = "DESC"
Else
viewstate("orden") = "ASC"
End If
Else
viewstate("columna") = e.SortExpression
viewstate("orden") = "ASC"
End If
Session("SortField") = e.SortExpression + " " + viewstate("orden")
sCase("SORT")
End Sub

gracias
  #6 (permalink)  
Antiguo 22/04/2005, 05:07
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 3 meses
Puntos: 1
Donde le asignas al datagrid el Session("SortField")
Yo lo que hago es a traves de un dataviev.sort=e.sortexpresion
Es decir le vuelvo a aasignar los datos del dataviev cambiando su ordecacion
dv=session("dv") 'lo tengo en session para no estar continuamente haciendo la consulta

en tu caso

dv.sort=e.SortExpression + " " + viewstate("orden")
o
dv.sort= Session("SortField")
datagrid1.datasource=dv
DataGrid1.DataBind()
session("dv")=dv

Te lo cometo por aportatr ideas pero entrarte en el metodo te tiene q entrar

que hace el sCase("SORT")
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 10:41.