Traslado del Blog
He trasladado el blog a Blogger la nueva direccion es:
http://netjtorrecilla.blogspot.com/
Espero veros a todos alli
He trasladado el blog a Blogger la nueva direccion es:
http://netjtorrecilla.blogspot.com/
Espero veros a todos alli
Continuando con el control GridView de ASP.NET, vamos a hablar de la ordenación del control
ORDENACION
Para llevar a cabo la ordenación de un GridView, necesitamos seguir los siguientes pasos:
1) Establecer la propiedad AllowSorting a True: Como su nombre, en ingles, nos indica Permitir Ordenación, es de tipo boolean así que le indicamos “True”. Cuando activamos esta propiedad, las cabeceras de las columnas de nuestro Grid se transforman en linkbuttons.
2) Definir el Evento Paging
Este evento se ejecuta cada vez, que pulsemos sobre una cabecera.
Recibe como parámetros el sender, y “e” que es de tipo “GridViewSortEventArgs”.
Dentro del evento, pondremos el siguiente bloque de código:
'Comprobamos que el datasource no está vacio
If Not Me.GridView1.DataSource Is Nothing Then
'Creamos una variable de tipo vista parara llevar a cabo la ordenación de la tabla
Dim dtbView As Data.DataView = New Data.DataView(CType(GridView1.DataSource, Data.DataTable))
dtbView.Table = CType(GridView1.DataSource, Data.DataTable)
'Inicializamos el filtro
dtbView.Sort = e.SortExpression
If ViewState("Orden") Is Nothing Then ViewState("Orden") = "DESC"
'Añadimos el orden Ascendente o descendete.
Select Case ViewState("Orden")
Case "ASC"
dtbView.Sort &= " DESC"
ViewState("Orden") = "DESC"
Case "DESC"
dtbView.Sort &= " ASC"
ViewState("Orden") = "ASC"
Case Else
dtbView.Sort &= " ASC"
ViewState("Orden") = "ASC"
End Select
'Volvemos a enlazar el grid.
GridView1.DataSource = dtbView
GridView1.DataBind()
End If
Nos vamos a apoyar en el ViewState, para manejar si el orden es Ascendente o Descendente.
Si el grid, no está enlazado mediante código, es decir, está enlazado desde la vista de diseño a un origen de datos, no será necesario insertar el código anterior.
La propiedad “SortExpresion” de “e”, contiene la columna que hemos seleccionado en el grid, la cual ha provocado que se ejecute el evento Sorting.
Es un control bastante utilizado en ASP.NET, es el control GridView (Rejilla, Listado...).
Nos permite representar un conjunto de datos obtenidos desde un origen de datos (DataSource). Nuestro origen de datos pueden ser:
- Una base de Datos (SQL, Oracle, etc)
- Un fichero XML
- ...
El primer paso para visualizar los datos en nuestro Grid es establecer la propiedad DataSource, y hacer una llamada al método DataBind()
que se encarga de enlazar el origen de datos con el Grid.
Con esto, ya podremos visualizar datos en nuestro aspx.
Pero vamos a ir mas allá.
PAGINACIÓN
Podemos establecer paginacion en nuestro Grid, para que no se vean todos los datos apilados, para ello haremos los siguientes pasos:
1) Establecer la propiedad AllowPaging a true.
2) Indicaremos el nº de elemetos a visualizar por cada pagina con la propiedad PageSize.
3) Añadiremos el evento PageIndexChanging()
En este evento indicaremos las siguientes acciones:
- CurrentPage=e.NewPageIndex
- DataBind() volvemos a enlazar la rejilla
Continuará...
En este artículo voy a comentar como podemos a través de código desplazarnos por un control ListView , en modo "DetailsView" * , en una aplicación Windows Form, y de esta forma similiar los botones de desplazamiento de un recordset. Indicando también que solo se va a permitir la selección de un único elemento.
En primer lugar, vamos a definir una variable que va a permitirnos controlar en que elemento nos encontramos en cada momento.
private intElementoSeleccionado as integer = -1
A continuación, vamos a definir una función que se va a encargar de limpiar los elementos seleccionados del listview, se indicará que el elemento referenciado por el índice (intElementoSeleccionado) está seleccionado y tiene el foco, y además ponemos el foco en el control listview (lvwLista).
Private Sub Cambiar_Elemento()
lvwLista.SelectedItems.Clear()
lvwLista.Items(intElementoSeleccionado).Selected = TruelvwLista.FocusedItem = lvwLista.Items(intElementoSeleccionado)
lvwLista.Focus()
End Sub
A continuación, tendremos que crear los botones de desplazamiento, en mi caso tengo 4 botones: Ir al primer Registro, Ir al Registro anterior, Ir Al siguiente Registro e Ir al Último Registro.
Para el botón "Ir al primer Registro", vamos a establecer el valor de
"intElementoSeleccionado" a 0, para indicar que es el primer registro.
intElementoSeleccionado=0
Para el botón "Ir al Registro Anterior", vamos a disminuir en "1" el valor de "intElementoSeleccionado", teniendo en cuenta que el valor no puede ser inferior a 0.
If intElementoSeleccionado > 0 Then intElementoSeleccionado -= 1
Para el botón "Ir al siguiente Registro", vamos a incrementar el valor de "intElementoSeleccionado" de 1 en 1, comprobando que el valor no es superior al número de elementos del ListView.
If
intElementoSeleccionado < lvwLista.Items.Count - 1 Then intElementoSeleccionado += 1Para el botón "Ir al último Registro", vamos a establecer el valor de "intElementoSeleccionado" al número de elementos de nuestro ListView para indicar que es el primer registro.
intElementoSeleccionado=lvwLista.Items.Count - 1
Además de estas líneas anteriores, en cada uno de los botones vamos a tener que hacer una llamada a nuestra función "Buscar", para que "automáticamente" nos lleve a cabo nuestra selección del registro.
*El ejemplo es válido también para otros modos del ListView.
Espero que os sea útil.
Un saludo.
Un "Snippet", es un pequeño fragmento de código reutilizable.
Exixten varias herramientas de generación de snippets, las cuales nos permiten además de generar el SNIPPET las siguientes opciones:
- Seleccionar el lenguaje del snippet.
- Seleccionar un "atajo" para insertar el snippet.
- Insertar Fragmentos sustituibles: Los fragmentos sustituibles son palabras que aparecerán en un color distinto al resto del código cuando se insertan en el código, y una vez modificado uno, automáticamente se cambian el resto de ocurrencias de dicho fragmento.
Algunas de estas herramientas también nos permiten la exportación de los snippets que generemos a través de ficheros autoinstalables.
Otros también permiten incluso la gestión de los snippets existentes en Visual Studio.
La generación de un Snippet se lleva a cabo en un fichero XML y son almacenados en la ruta correspondiente a Visual Studio "Versión" / Code Snippets / Lenguaje.
Espero que os sirva de utilidad y si teneis algun comentario no dudeis en indicarmelo
Programación en Visual Studio
Noticias: Noticias