WebParts con ASP.NET 2.0 (I)

Antes de entrar de lleno en toda la parafernalia de los webparts, voy a hacer una breve definición de un webparts. Se podría decir que es un bloque de nuestra web, con un determinado contenido, que los usuarios pueden personalizar a su gusto y antojo (Moviéndolo, ocultándolo, cerrándolo, etc), y dichos cambios se guardarán para posteriores visitas a la pagina donde se encuentren dichos webparts.

Vale!!! Esto está muy bien, pero… ¿cómo se crean los webparts? … Tranqui!!! Decirte que es sencillismo. Basta con crear una página web, añadir un control "WebPartManager" (este control es el primero que se debe de introducir o agregar antes que cualquier otro control, si no, no funcionará ok?. bien, sigo!! aaa!! Una cosa… cuando agregeís el WebPartManager, no os extrañeís al ver un recuadro gris, los WebPartManager no tienen un diseño. Sigo!!! (que me estoy enrrollando ya) A continuación agregaremos uno y varios controles "WebPartZone" (Consejo: Yó, antes de agregar los webparzone, añado una tabla la cual me delimitará las zonas donde se verán mis webparts). Tras agregar los webpartzone, ya puedo arrastrar cualquier control de la caja de herramientas dentro de las zonas y ¡VOILA!, ya tenemos un webpart, parece facil no? jejejeje! ¿Como es esto posible? Pues gracias a la clase "GenericWebParts".

Cada vez que arrastremos un control (por ejemplo un "Label") a una zona, Visual Studio creará como un envoltorio (wrapper) alrededor de dicho control, conviertiendoló en un GenericWebPart. El tener un envoltorio, el control agregado pasa a tener una serie de propiedades que de otra forma no tendría. Estas propiedades son tales como: "Title", "Descripción", "TitleIconImageUrl", "TitleUrl" y CatalogIconImageUrl". Además, gracias a este envoltorio podemos establecer comunicaciones de datos entre diferentes WebParts.

En realidad no todos los controles son iguales de buenos para ser convertidos en WebParts. Tomemos por ejemplo los controles "Literal". Si añadimos un literal a una zona tendremos un webParts pero sin embargo no tendremos las nuevas propiedades comentadas anteriormente. Entonces ¿Donde está la diferencia entre un Label y un literal? Pues que el Label desciende de la clase "Control", mientras que el segundo lo hace de "webControl". La clase "WebControl" implementa una serie de interfaces que son los que posibilitan que el envoltorio añada nuevas propiedades a nuestros controles, con lo que hay unas ciertas limitaciones. Lo primero que para empezar con webparts genericos no podremos aprovechar todas las posibilidades de los webparts. No podríamos, por ejemplo, añadir nuevas acciones al menu contextual, ni podríamos definir nuestras propias propiedades personalizables, por el usuario final.

 

PDFSharp, Crea documentos PDF con .NET

PDFSharp es un libreria en el cual puedes crear tus propios documentos PDF en .NET, sin importar el lenguaje. Permite crear y modificar documentos PDF. Con esta libreria es posibre cualquier tipo de operación sobre un PDF, así como fusionar varios PDFs, dibujar gráficos en un PDF con GDI+.

Enlace de descarga: http://www.onobanet.com/MasSobreDotNet/Descargas/Archivos/PDFSharp-0.8.494.zip

Más información: http://www.pdfsharp.com/

GridView autoactualizable

El control "GridView" como todo bien sabemos, es un nuevo control de ASP.NET 2.0 para mostrar un listado de datos o una colección de datos, es el sustituto del DataGrid de la versiones anteriores de ASP.NET. Se trata pues, de un control muy poderoso, con muchas funcionalidades que nos va hacer la vida más facil. Entre ellas podemos destacar "enablesortingandpagincallback" cuyo valor unico que recibe es de tipo Boolean, dicha propiedad se refrescará solo dicho control sin necesidad de actualizar la página completa si asignamos el valor a True.

<asp:GridView ID="GridViewProductos" 
     DataSourceID = "ODSProductos"
     AutoGenerateColumns = "true"
     AllowPaging = "true"
     AllowSorting = "true"
     runat="server"
     EnableSortingAndPagingCallbacks="True">
</asp:GridView>

Esto escribirá autómaticamente código Script de cliente en la pagina ASPX, el que se encargará por debajo de ir al servidor por la información y configurar esta a la vuelta, refrescandose solo la parte de la página que contiene al GridView.

Primeras imagenes de los Foros Onobanet

Aquí teneís las primeras imagenes de los foros que ando desarrollando para Onobanet. Estan apuntito de salir a espensas de ultimar algunos detalles, así como ejecución de las distintas pruebas para el perfecto funcionamiento, que puede estar entre el 90% y el 95%. La verdad que se están haciendo de rogar, pero ha merecido la pena desarrollar estos, espero que estupendos foros.

Imagen 1: Pagina principal dividido por temas y estos por los distintos foros.

Imagen 2: Comienzo de un nuevo Hilo.

Imagen 3: Pagina para insertar un nuevo post.

Bueno, de momento esto son las primeras imagenes, espero que proximamente estén subidos al servidor y totalmente operativos, y así disfrutar de ellos.

Dim PacoDotNet as new geeks

' Hola a todos los geeks:
' Me acabo de instanciar como nuevo geeks.Block.
' Aquí abajo os detallo alguna de mis propiedades estaticas [H]:

Dim PacoDotNet As New geeks

With PacoDotNet
       .Name = "Francisco Javier Carbajosa Gonzalez"
       .Edad = "26"
       .Profesion = "Conductor de autobuses urbanos"
End With

Esta última propiedad (Profesion) la he de comentar ya que creo que es una propiedad algo confusa.
Como su valor indica, "Conductor de Autobuses urbanos", es cierto (True) Me dedico a dicha profesión desde hace algo más de 3 meses (La cosa está mala por aquí abajo). Pensareís que pinta aquí un conductor en un blog que nada más se habla de la tecnología de Microsoft, pues es sencillo, me fascina, me encanta, de echo le dedico mi tiempo libre a .Net, a aprender más y más cada día que pasa, y lo que aprendo intentar ponerlo en practica así como compartir mis conocimientos en la medida de lo posible. Así que algunos practican .Net por que es su deber y otros lo practican por deboción, como es mi caso.

Actualmente soy administrador junto con mi viejos amigos Miguel y Fran,  de la Pagina Web http://www.onobanet.com/ o que es lo mismo la Comunidad de usuarios de .Net de Huelva, también he realizado el diseño o la base de onobanet, ya que me fascina también el diseño gráfico (Donde allá una aplicación funcional y a la vez con un buen diseño, que se quiten las demás… jejeje), es más, cuando diseño una aplicación ya sea de escritorio, web o para dispositivos Mobiles, me gusta dar el maximo en el diseño, esto lo saben bien Miguel como Fran.

También ando haciendo una aplicación para mi PDA cargada con Windows Mobile 5.0 y con el Compact FrameWork, para llevar la gestión de los servicios que he realizar durante la semana. Espero que quede chula.

Bueno. Sin más… lo escrito podriamos decir que soy yó. Si alguien quiere saber más de mí o preguntarme algo, así como intercambiar conocimientos de .Net (Abierto a todo) Agregarme a vuestro msn.  Y Charlamos!!

PacoDotnet.Dispose()