lunes, 23 de noviembre de 2009

Reporting Services

Esta semana ha sido crucial para mi porque descubri algunas soluciones que talvez podrian ayudar a aquellos que estan trabajando con reporting services.
Una de las grandes ventajas que esta herramienta (business intelligence) tiene, es que cualquier reporte puede ser un subreporte, y oviamente las cabeceras y pes de pagina de los subreportes son omitidos cuando estos estan siendo desplegados dentro de un reporte madre.
En el caso especifico de trabajar con Asp.net,
la pregunta es : como cargamos los datos del subreporte?

simplemente hacemos lo siguiente, agregamos un object datasource para obtener la fuente de datos del subreporte.
A continuacion realizamos la siguiente:

protected void Page_Load(object sender, EventArgs e)
{
ReportViewer1.LocalReport.SubreportProcessing -= SetSubDataSource;
ReportViewer1.LocalReport.SubreportProcessing += SetSubDataSource;
}

procesamos el evento SubreportProcessing, eliminamos los parametros que tiene, y enviamos el parametro recibido en e.Parameters[0] (ojo con los tipos de datos)
a continuacion hacemos una carga manual del ObjectDataSource2 que corresponde a la fuente de datos del subreporte.

public void SetSubDataSource(object sender, SubreportProcessingEventArgs e)
{
ObjectDataSource2.SelectParameters.Clear();
ObjectDataSource2.SelectParameters.Add(
new Parameter("receiptList", TypeCode.String,
e.Parameters[0].Values[0].ToString()));

e.DataSources.Add(new ReportDataSource("miDataSetSubReporte",
"ObjectDataSource2"));

}

martes, 21 de julio de 2009

Descargando Visual Studio 2010 CTP

Visual Studio 2010 CTP ya disponible

Ya esta disponible la maquina virtual que viene con el nuevo Visual Studio 2010 y el nuevo .NET Framework 4.0. Ya no tendremos que estar lidiando con la instalacion de algunas peculiaridades que tienes VS2010

La VPC tambien viene con las novedades de Team Foundation Server y Team system para aquellos que les gusta trabajar en equipo.

Pueden descargarse de:

http://www.microsoft.com/downloads/details.aspx?familyid=922b4655-93d0-4476-bda4-94cf5f8d4814&displaylang=en&tm

WebORB una verdadera Herramienta

En mis incursiones dentro de las tecnologías Adobe, como Flex y Adobe Air, y c# me he topado con una herramienta muy poderosa la cual me facilita la tarea de conectar ambas tecnologías.
Trabajando con silverlight necesariametne debía realizar conexiones haciendo uso de Windows Comunication Foundation (basado en web services), sin embargo WebORB trabaja con un nuevo protocolo de comunicacion llamado AMF (Action Message Format) .
Algunas veces cuando estamos generando aplicaciones empresariales o de alto nivel, los Web Services nos pueden quedar cortos en cuanto desempeño, desarrollo, e incluso depuración de los mismos. Recordemos que los Web Services son mensajes SOAP basados en texto, y cuando la aplicación empieza a crecer en cuanto a cantidad de datos puede ser un problema para el cliente para "parsear" todo este XML y para el servidor el envio y generación del mismo. Para solventar este problema tenemos lo que conocemos como Remoting. Remoting o en nuestro caso Flex Remoting es capaz de transportar los datos con mayor eficiencia que los Web Services, ya que usa un formato binario (AMF) para transmitir datos entre el Flash Player y nuestro código en .NET. El protocolo AMF (Action Message Format) es un protocolo binario mucho mas liviano que los Web Services y en cuanto al poder y rendimiento es mucho mayor ya que podemos accesar directamente con esta tecnología a objetos remotos como dll (dynamic link libraries) construidas en .NET , es decir podemos consumir directamente los métodos que tengamos en nuestra dll,además que consume menos ancho de banda.

te animo a utilizar esta estupenda herramienta.
Para iniciarte en esto visita el siguiente blog, por cierto muy inicial pero sencillo.
Click para acceder a
Giant Flying Saucer Programming Parlor Tricks

jueves, 30 de abril de 2009

Rich Text box en WPF

Para los que quisieran construir o implementar un editor enriquecido de texto incluyendo imagenes en WPF, el framework 3.5 SP1 ya nos ofrece dicho editor, que por supuesto en WinForms esto ya estaba disponible.

Es un simple editor de texto que lo definimos dentro de xaml como sigue :

[RichTextBox Height="191" Margin="0,0,0,42" Width="518" Name="textAll"/]

Este editor soporta inserciones de imagenes, estilos de texto y más... y lo interesante es que dicho contenido se puede exportar a un fichero .txt , .rtf, .doc ..... etc.

La siguiente fraccion de codigo inserta una imagen a la vez, dicho evento es activado al hacer click en algun boton llamado button2.

private void button2_Click(object sender, RoutedEventArgs e)
{
TextPointer tp = textAll.CaretPosition;
//textAll.Selection;

Image img = new Image();
img.Width = 25;
img.Height = 25;
BitmapImage myBitmapImage = new BitmapImage();
myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(@"C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Winter.jpg", UriKind.RelativeOrAbsolute);
myBitmapImage.EndInit();
img.Source = myBitmapImage;
InlineUIContainer iu = new InlineUIContainer(img);
tp.Paragraph.Inlines.Add(iu);
}

Bienvenidos a mi Blog

Quiero extenderles una cordial bienvenida a mi blog personal. En esta seccion trataré de aportar algunas experiencias en el mundo del desarrollo de software basado en Windows Presentation Foundation C# .NET, Team Foundation Server y como olvidarme de mi queridisimo JAVA, JSP, JSF. Espero que sea de ayuda, pues toda critica será bien recibida.

Este año cambié de lugar de trabajo estoy trabajando en una empresa de desarrollo software "out sourcing", está ubicada en Cochabamba - Bolivia.
Pero tambien compartimos con los viejos amigos de la Universidad Adventista de Bolivia allá en Vinto. Pues lo bueno nunca se olvida.

Otra vez bienvenidos.