Tuesday, October 5, 2010

¿Dónde está el Business Intelligence?

Por lo general, yo lo utilizaba para reportes (.rdl) y se instalaba al instalar VisualStudio (2005) y en Archivo - Nuevo Proyecto - Allí aparecía...

Con VisualStudio 2008 no aparece... y esa pregunta me hice hoy (ya que hoy iba a hacer un reportito) y pues............ resulta que.........

Es ahora una herramienta aparte... Business Intelligence Development Studio (BIDS) y se instala al instalar las herramientas clientes de SQL Server 2008. Si tenes instalado el VS2008 y el SQLServer2008, bajo VS al dar Nuevo Proyecto, sale en los tipos de proyecto un tipo nuevo que se llama "Business Intelligence Projects", y dentro de esta categoría tenes (entre otras cosas) "Report Server Project"

haPPy ReporTing ;)


Monday, October 4, 2010

Cómo validar cajas De texto

Si estás usando ASP.NET, validar las entradas de cajas de texto por el lado del cliente, es sencillo (claro, debe estar habilitado el JavaScript para el browser)


Utilizando el control de Ajax, RequiredFieldValidator

Sus propiedades de este control sos:

TargetControlID: que el ID del control a validar (p.e.:txtNombre)
FilterType: Tipo de filtro. 3: Custrom, LowercaseLetters, Numbers, UppercaseLetters
FilterMode: 2: InvalidChars, ValidChars
y dependiendo del FilterMode, se listea los valid/invalid

Por ejemplo, yo deseo que en mi caja de texto, el usuario puede digitar lo que sea a exepción es caracteres especiales como ser: ª·¨¨'`~/Ç@#$%^&*()_-+=[]{}¡!<>¿?,;.:



O si quiero que solo digite Números:



o Solo Números y letras:



Lo cierto es que podes combinar a tu gusto y requerimiento

Happy coding...




Tuesday, September 14, 2010

Ciclo De vida De una página ASP.NET

Una página ASP.NET cuando está siendo cargada, por debajo está siendo pasada por distintas etapas de procesamiento. Existen los llamados "Eventos de Página" y eso lo podés localizar dentro de tu code-behind como la imágen mostrada.


Justamente las etapas por las que pasa toda página son esas... y lo siguiente es el órden. Es muy importante conocer el orden ya que así podemos escribir el código apropiado en el momento adecuado.

1.PreInit
2.Init
3.InitComplete
4.PreLoad
5.Load
6.Eventos de control
7.LoadComplete
8.PreRender
9.SaveStateComplete
10.Render
11.Unload

Pero surge una problemática cuando nuestra página ASP.NET tiene un USERCONTROL (ascx)... Hay eventos de página que primero pasa por el usercontro y luego por nuestro aspx.

Justamente ese problema tenía yo. De mi aspx necesitaba enviarle un valor a mi usercontrol y esto lo hacía desde su page_init pero primero pasaba por el page_init del usercontrol de modo que el valor nunca llegaba.

Pero los eventos de página no son los mismo que el de un usercontrol comparados al de un aspx. A continuación se muestra una imágen con los page events de un usercontrol



Como pueden notar, el usercontrol no tiene el evento PreInit asi que este podriamos usarlo para enviar un valor al usercontrol desde el formulario aspx en el caso de que necesitemos que lo reciba antes de su load.

El orden de una página ASP.NET con su usercontrol es como sigue:

.aspx - Page_PreInit()

.ascx - Page_Init()
.aspx - Page_Init()
.aspx - Page_Load()
.ascx - Page_Load()
.aspx - Page_PreRender()
.ascx - Page_PreRender()
.ascx - Page_Unload()
.aspx - Page_Unload()

Tuesday, August 17, 2010

Ajax: Accordion

Me gusta y aquí te va cómo utilizar el control de Accordion de Ajax.

Para ver cómo se ve (valga la redundancia),entra
aqui

Para empezar, si tenés el VS 2008, tenés que instalarte el ToolKit... si aún no lo has hecho, ingresa aquí para saber cómo.

Empezemos.

En el code html de Default.aspx de tu WebSite:

Primero te arrastras el ToolkitScriptManager, quedaria asi:



Luego,te arrastras el Accordion
Dentro de las etiquetras del Accordion, colocas entre etiquetas Panes y dentro de estas, metes todos los AccordionPane que desees... Dentro de estas, metes un Header y un Content. Y dentro del Content es justo el contenido.

Queria mas o menos asi, su estructura:



Ah, por cierto, en mi toolbar del blog no tengo la opción de escribir código pues no es un blog de programación... asi que si alguen tiene algun truco,bien, mientras, lo estoy metiendo dentro de un textarea... lo br se autocrean, uds. los eliminan...

De todos maneras, subí mi Default.aspx y el CSS que le dará estilo... ok?

Se puede bajar de aqui el codigo

Y de aqui la hoja de estilo

Happy Coding...

Monday, July 26, 2010

Allowsorting: gridview (ASP.NET)

Si tu grilla está enlazada desde código, el sorting u ordenamiento no funciona de la misma manera a como si estuviera enlazado desde la vista de diseño a un origen de datos (DataSourceID).

Por ejemplo, en el evento Sorting del gridview, este pedazo de código no funciona: (es decir, siempre se va al ASC y no entra al DESC) Pero para el segundo caso sí, porque... El GridView alternará de forma automática entre "ASC" o "DESC" en SortExpression en cada clic, para conmutar entre orden de clasificación ascendente o descendente.

Dim strOrderBy As String = e.SortExpression
Select Case e.SortDirection

Case SortDirection.Ascending
strOrderBy = strOrderBy + " ASC"
Me.prcCargarPersonas(strOrderBy)
Case SortDirection.Descending
strOrderBy = strOrderBy + " DESC"
Me.prcCargarPersonas(strOrderBy)
End Select

Para el primero, lo arreglé de esta manera (utilizando una variable de state)

Dim strOrderBy As String = e.SortExpression

Select Case Me.ViewState("Orden")
Case "ASC"
strOrderBy = strOrderBy + " ASC"
Me.prcCargarPersonas(strOrderBy)
ViewState("Orden") = "DESC"
Case "DESC"
strOrderBy = strOrderBy + " DESC"
Me.prcCargarPersonas(strOrderBy) 'este es mi método que carga y bindea mi
grilla
ViewState("Orden") = "ASC"
Case Else
strOrderBy = strOrderBy + " ASC"
Me.prcCargarPersonas(strOrderBy)
ViewState("Orden") = "ASC"
End Select

Todo dentro del evento SORTING del gridview. Previamente, se le añade la propiedad a tu gridview AllowSorting="True" y por cada columna a utilizar para el sort, se le añade la propiedad SortExpression="NombreColumnaBaseDeDatos"