webprogramacion.com >
Programacion >
VB.NET > Crear una lista de enlaces desde una base de datos
Crear una lista de enlaces desde una base de datos (VB.NET)
Con frecuencia mostramos listados de enlaces procedentes de consultas en una base de datos. Por ejemplo, cuando se realiza una búsqueda en un sitio web, se presenta al usuario los enlaces de los contenidos de la web que cumplen los criterios de búsqueda que el usuario ha seleccionado.
Con el siguiente código vamos a implementar un método que recibe un objeto de la clase DataSet que contendrá la lista de enlaces que se van a mostrar y nos devolverá un objeto de la clase String con el código HTML correspondiente a la lista de enlaces.
El método recibirá 5 parámetros:
ds: Un objeto de la clase DataSet, que contendrá la información de los enlacestexto: Un objeto de la clase String. Es el nombre de la columna del DataSet que tendrá el texto del enlaceenlace: Un objeto de la clase String. Es el nombre de la columna del DataSet que tendrá la dirección del enlacetitle: Un objeto de la clase String. Es el nombre de la columna del DataSet que tendrá el título del enlace. El título de un enlace es un texto que se puede añadir para complementar el texto de dicho enlace, y facilitar información acerca del mismo. Es recomendable su uso desde un punto de vista de accesibilidad websiVacio: Un objeto de la clase String. Texto que será mostrado en el lugar de la lista de enlaces en el caso de que el DataSet esté vacío (por ejemplo para indicar que no se han encontrado resultados a la búsqueda realizada)
La implementación del método
getListadoEnlaces es la siguiente:
Public Shared Function getListadoEnlaces(ByVal ds As DataSet, ByVal texto As String, ByVal enlace As String, ByVal titulo As String, ByVal siVacio As String) As String
Dim i As Integer
Dim listado As String
listado = "<ul>"
For i = 0 To ds.Tables(0).Rows.Count - 1
listado += "<li>"
listado += "<a href='" & ds.Tables(0).Rows(i)(enlace)
listado += "' title='" & ds.Tables(0).Rows(i)(titulo).ToString() & "'>"
listado += ds.Tables(0).Rows(i)(texto).ToString() & "</a>"
listado += "</li>"
Next
listado += "</ul>"
If ds.Tables(0).Rows.Count = 0 Then
Return siVacio
Else
Return listado
End If
End Function
Nota: En la declaración del método podemos ver que se ha declarado como Shared. Entonces lo podemos incluir en una clase, de tal forma que cuando lo necesitemos utilizar, no será necesario instanciar un objeto de la clase que lo contenga, ya que podrá ser llamado diréctamente.
Autor del artículo
Dámaso Velázquez
Fecha del artículo
2/9/2008
Compartir