El Blog del Leo

Compartiendo lo que aprendo

[Off-Topic] Tengo nueva casa


Ojala fuese una casa de verdad, pero no... me estoy refiriendo a nueva casa del blog.
Así como lo leen, he migrado todos los contenidos desde Blogger hacia mi nuevo blog en un servidor basado en Wordpress.

¿Por que hice esto?
Primero motivado a que este blog ha crecido mucho desde que comence, mas gente vienen a ver cosas aqui e incluso se han conformado debates entre los participantes que me ha dejado gratamente sorprendido.

Les dejo este mensaje para que el cambio no se tan brusco, ya que en unos dias más pondre una redirección directa desde este blog hacia el nuevo.

Actualmente la direccion de la nueva version del blog es: http://leonardo.sphera.cl

Eso y gracias por todo, nos vemos en mi nueva casa.

Uso de Footer de GridView como información de apoyo.

Si me preguntan por el título del post, sí, es raro, pero no se me ocurrió otra manera de explicar lo que queria hacer, la idea es apoyar la información que entregamos en un gridview utilizando el 'footer' como apoyo a nuestra grilla, en el caso de nuestro ejemplo nos servira para desplegar el monto total de autos registrados.

En el caso de estudio, tenemos una pequeña interfaz que nos sirve para registrar los vehiculos y una grilla que desplega los datos registrados (como en el recuadro de arriba) donde en el footer estamos mostrando la suma del valor de los vehiculos registrados.

¿Y en donde se hace esto?
En el evento RowDataBound de la grilla, preguntamos si el tipo de fila que se esta dibujando es el footer para plasmar nuestra información de resumen.

¿Dónde escribimos los datos que queremos?
La fila (Row) que acompaña al evento en el footer tiene una propiedad llamada Cells que identifican a cada celda del footer comenzando desde el 0 hasta el tamaño de columnas menos 1, dentro de la celda tiene la propiedad Text donde podremos escribir tanto numeros como texto (Ver recuadro de abajo, clic en la imagen para ampliarla.)


Acá les dejo el link con el ejemplo para que lo prueben en casa.
Ejemplo - Uso de Footer en GridView

Espero que les sirva.

[Artículo] KODU - La nueva forma de hacer juegos

Kodu es un nuevo lenguaje de programación visual desarrollado por Microsoft hecho específicamente para crear juegos. Su diseño fue creado para sea usado incluso por niños. El programa creado corre en Xbox y PC.


La base del proyecto Kodu es la programación de interfaz de usuario. El lenguaje es simple y basado enteramente en íconos. Los programas están compuestos de páginas, las cuales se desglosan en reglas, que a su vez, están divididas en condiciones y acciones. Las condiciones son evaluadas simultáneamente.




El lenguaje Kodu fue diseñado específicamente para el desarrollo de videojuegos y provee bases especializadas utilizadas en escenarios de juegos. Los programas son expresados en terminos físicos, usando conceptos como mirar, escuchar y tiempo para controlar las características del personaje. Como no es un programa de propósito general como los lenguajes de programacion clásicos, Kodu puede expresar avances en el concepto de diseño de videojuegos de una manera simple, directa e intuitiva.


Caracteristicas principales

Kodu provee de principio a fin un ambiente creativo para diseñar, construir y jugar tus propias creaciones.
  • Incorpora bases del lenguaje de alto nivel del mundo real tales como: colision, color, vision.
  • Usa el joystick de Xbox 360 - No es necesario el teclado.
  • Corre sobre Xbox 360 y PC.
  • Editor de terreno interactivo.
  • Constructor de puentes y caminos.
  • Editor de terrenos - crear mundos de formas y tamaño personalizados.
  • 20 diferentes personas con diferentes habilidades.
Descargar Technical Preview









Imágenes de Kodu

Cabecera fija en GridView con Scrollbar

Esta idea es autoría de mi amigo Oscar y me sugirió que la publicará en el blog. Nos vimos con la necesidad de en vez de paginar los gridview extender su tamaño usando scrollbars, al implementarlo nos pidieron que cuando bajasemos a través del scrollbar el header del GridView se mantuviese y alli comenzó la dificultad.

La forma tradicional de recrear la situación sin tener aun el Header del GridView estatico sería tal como sigue:

Colocamos un panel que contenga el gridview, establecemos un tamaño definido para el panel y asi aparecerá el scrollbar. Pero seguimos con el problema que nuestro header se sigue moviendo en conjunto con la grilla y no se mantiene fijo.


Y como hacemos que el Header del GridView se mantenga fija cuando bajamos a través del ScrollBar. La solución la tiene nuestro amigo CSS con una simple línea de codigo obtendremos el efecto deseado.

Agregamos esta linea a nuestro archivo css y los asociamos al panel en su propiedad CssClass.
<asp:Panel id="pnlGridView" CssClass="headerFlotante" ... /> y obtendremos nuestro resultado que es un Header fijo mientras movemos el Scrollbar.

 

Les adjunto el codigo si lo quieren revisar con más calma.

Espero que les sirva.
Saludos.

[Off-Topic] Fin del curso de ingles y certificación TOEIC

No creo que muchos lo sepan pero desde Agosto a Diciembre estuve dando un curso de inglés intensivo gracias a CORFO en el Instituto Chileno Norteamericano de Cultura en Concepción. Les dire que la experiencia estudio-trabajo era demoledora razon por la cual me llevaron a pensar en desistir entre Octubre y Noviembre pero mis amigos y familia me dieron animo para finalizar el curso.
El objetivo del curso era en base al examen internacional TOEIC la idea era subir 200 puntos en comparativa al puntaje de ingreso al curso de ingles.
Hace unas semanas di el examen y resulto que subi 320 puntos en comparativa al examen TOEIC anterior, subiendo mi nivel de Ingles de Intermedio+1 a Avanzado +1 hecho que me dejo muy conforme dado todo el esfuerzo realizado.
Agradecer a mi profesora y compañeros del curso de ingles donde vivi una muy bonita de experiencia y aprendi bastante, algunas fotos de la graduación.


Generar postback dentro de un UpdatePanel para descargar archivo



Creo que muchos hemos tenido problemas cuando en una grilla tenemos un boton que nos sirva, por ejemplo, para descargar archivos adjuntos, utilizamos una rutina conocida que podemos encontrar en cualquier parte descargar archivos pero nos arroja un error de javascript y no sabemos que hacer.

¿Cuál es el problema? Por lo general, tenemos nuestras grillas dentro de UpdatePanels los cuales por su naturaleza, intentan capturar todas los postback y convertirlas en llamadas asincronas, la cual no podemos generar completo el request en el servidor para generar el archivo y paf! error.

Solución. La solución parte por decirle a nuestro querido UpdatePanel, hey! cuando el usuario haga click en este botón para poder descargar el archivo dejalo generar el postback, no te preocupes. No creo que con palabras entienda pero si con un pequeño codigo lo tendrá que hacer:

Como este ejemplo es cuando el boton este en una grilla, al momento que se este creando la grilla le diremos lo siguiente:

Protected Sub gvAdjuntos_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvAdjuntos.RowDataBound
Try

If e.Row.RowType = DataControlRowType.DataRow And e.Row.RowState = DataControlRowState.Normal Or e.Row.RowState = DataControlRowState.Alternate Then

'Forzamos que el boton descargar genere un postback para poder descargar el archivo, ya que esta dentro del UpdatePanel
'Obtenemos el ScriptManager, en este caso se encuentra en una Master PageDim scriptManager = DirectCast(Master.FindControl("ScriptManager1"), ScriptManager)
' Y registramos el postback en este ScriptManager, cada vez que yo presiona el boton descargar, el Script Manager asistira para la generación del postback necesario para poder descargar el archivo
scriptManager.RegisterPostBackControl(DirectCast(e.Row.FindControl("imgbtDescargar"), ImageButton))
End If
Catch ex As Exception
Throw ex
End Try

End Sub

Y con este simple codigo podremos crear nuestro 'Descargar Archivo' dentro de una grilla que está en un UpdatePanel.
Saludos.


Facebook SDK

Como leen, Microsoft ha anunciado un set de herramientas para desarrollar aplicaciones para la plataforma Facebook, este toolkit ha sido desarrollado por la comunidad y actualmente se lanza el release 3.0 que viene con nuevas actualizaciones en la arquitectura y provee interfaces asincronas para WPF y Silverlight.
El principal punto de interacción con Facebook nos lo provee la API de facebook (Facebook.Rest.Api) que es provista por el ensamblado facebook.dll que envuelve una interfaz de uso facil para llamar a los diferentes métodos de la API de facebook

Este set de herramientas viene con los siguientes ensamblados:



  • Facebook.dll
    Es es el principal ensamblado que será usado en toda la aplicación. Tiene toda la lógica que manipula las conecciones con el API de Facebook. Este ensamblado está especificado para dar soporte a aplicaciones XAML tales como Silverlight y WPF.
  • Facebook.Silverlight.dll
    Este ensamblado será la base para todas las aplicaciones Silverlight que interactuen con Facebook. La Rest API en esta ensamblado es asincrona.
  • Facebook.Web.dll
    Este ensamblado debe ser usado para las aplicaciones Canvas. La principal funcionalidad de este ensamblado es encapsular el enlace entre la aplicacion Facebook y una aplicación Canvas (FBML/IFrame).
  • Facebook.Web.Mvc.dll
    Provee soporte para la construcción de aplicaciones Canvas usando ASP.NET MVC. Separado del ensamblado Facebook.Web.dll para evitar que todos los desarrolladores instalen los componentes de MVC.
  • Facebook.Winforms.dll
    Este ensamblado provee las herramientas para construir aplicación Facebook utilizando la tecnologia de Winforms. Este componente encapsula la API para poder ser usada de manera más fácil desde Winforms. Además posee algunos controles que pueden ayudar durante el desarrollo.
Para comenzar a usarlo que necesitamos:
  1. Descargar Facebook SDK
  2. Y seguir algun ejemplo para utilizarlo.
Saludos.

Seguidores

Certificaciones

Microsoft Certified Professional

Mis Tweets

Twitter