Muchas veces nos vemos en la necesidad de manejar únicamente una porción de los datos de un data table es decir datos que cumplen con una condición y/o que deben ser presentados en un orden específico, si tenemos un data table podemos utilizar uno o varios objetos de tipo DataView para crear vistas sobre un DataTable, las vistas son similares a las que se crean en SQL pero con dos diferencias importantes:
1- un DataView siempre muestra todas las columnas del DataTable al cual está relacionado;
2- un DataView puede obtener datos de un solo DataTable
para crear un DataView debemos hacer lo siguiente:
dim objDataView as DataView
objDataView = new DataView(objDataTable, “filtro”, “orden”, DataViewRowState)
Asi se puede crear entonces una vista del data table (ojbDataTable) con un filtro y orden específico, el campo DataViewRowState nos servirá para administrar el estado de las filas entre el DataTable y el DataView para mas información de este campo acá dejo un link interesante
http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cpguide/html/cpconrowstates.asp
A veces necesitamos manejar en una tabla una columna que contiene una cadena XML pues al hacer un SELECT veremos el resultado obtenido como una cadena simple, si queremos ver nuestro XML almacenado en la tabla como un árbol de XML podemos hacer la siguiente consulta:
SELECT CAST(columnaXml as XML) FROM Tabla
Con esto se nos mostrará el contenido de cada columna como un link el cual al ser seleccionado nos abrirá una ventana con el contenido XML en formato de árbol (nodos padre y nodos hijo), una pequeña ayuda para editar este contenido XML
(probado en SQL 2005).
Acabo de solucionar un pequeño problema que tenía con el despliegue de una fecha en VB .NET, el problema era que tenía una variable de tipo Date y la mandaba a escribir a una página pues quería mostrar solamente la fecha y no la hora pero el default de VB es mostrar la fecha acompañada de la hora.
Para mostrar solamente la fecha debemos colocar Fecha.ToString(“dd/MM/yyyy”) en este caso indicamos un formato que será mes/dia/año y no incluímos la hora, esta cadena puede variar para mostrar la fecha y/o la hora en diferentes formatos.
Ya nos habremos encontrado muchas veces con esas tablas que tienen columnas que aceptan datos NULL (es decir pueden quedar sin información), que pasa si nos piden una consulta de los productos disponibles en la tabla Producto que por cierto tiene una columna descripcion que acepta NULL y se requiere que para aquellos productos que tengan descripción se muestre y para los que no tengan se muestre el texto ‘sin descripción…’ pues aqui nos encontramos en un tema de consultas a base de datos (en mi caso a SQL 2005
) la consulta es muy sencilla ya que haciendo uso de la sentencia ISNULL podemos hacer algo asi:
SELECT codigo, nombre, ISNULL(descripcion, ‘sin descripcion…’) FROM Producto
Sencillo, una consulta SQL que nos mostrará el código, nombre y descripción para los productos y en caso un producto tenga una descripción NULL mostrará el texto “sin descripcion…”.
Visual Basic .NET tiene algunas cositas escondidas tal es el caso de algunas propiedades en un GridView, pues hace algunos días me vi en la necesidad de tener una columna (de tipo BoundColumn) en la cual cada una de sus filas tenía un link a otra página, coloque el <a href=”mipagina.aspx” mce_href=”mipagina.aspx”> clic acá </a> pero al mostrar mi página en el navegador la columna no mostraba el link sino el código HTML, investigando un poco me encontré con una propiedad del GridView de la columna llamada HtmlEncode la cual por default está en FALSE la cambié a TRUE, actualicé mi página y ya mostró el link y no el código HTML.
El día de ayer me tope con lo siguiente, necesitaba que ciertas filas de una tabla fueran visibles y otras no, pues le puse el clásico visible= “false” al TR pero cual fue mi sorpresa, pues cuando fui al navegador a ver mi página (aspx por cierto) las filas supuestamente “ocultas” estaban visibles! pues me puse a investigar un poco y fui con don Google y me dijo lo siguiente:
Para ocultar un TR en una tabla HTML debemos colocar como atributo: style=”display:none” esto si que funciona y ya no me muestra las columnas que tengan ese atributo
Es mi primer mensaje y hoy quiero agradecer a Dios por todo lo que me ha dado hasta el día de hoy, inicio con un nuevo proyecto en mi vida y espero aportar todos mis conocimientos y experiencias que vaya obteniendo día a día y así poder de alguna forma aunque sea pequeña agradecer las bendiciones que me da nuestro Señor.