TreeView y Usercontrols

Posted on Actualizado enn

Hola a todos, este es un pequeño ejemplo el cual quiere mostrar una forma de como usar usercontrol en asp.net, la vez pasada, se me planteo una situación en la cual, un usuario podría tener desde 1 hasta unas 50 opciones disponibles en una página, pero debería simular o hacer sentir al usuario que todo se encontraba en la misma página, además que debía poder guardar los datos digitados en una opción o sección apenas se cambiará a una nueva.

Mirando ese pequeño planteamiento, lo primero que se me ocurrió fue usar tabs al estilo de jquery, opción que fue eliminada, ya que debía tener todo el código en la misma página, y luego comenzar a ocultar divs y así sucesivamente, luego se me ocurrió crear diferentes páginas, una para cada sección, tener un iframe el cual me iba a alojar la página, opción que funcionaba, sin embargo no podía hacer el guardado al cambiar de sección.

Luego de mirar algunas opciones más, opte por usar controles de usuario, y en mi página principal tener un multiview, el cual va a tener un view por cada sección, y asi desde codebehind solo me es necesario cambiar el view activo, además, por ser controles de usuarios, en cada control puedo declarar métodos públicos los cuales puedo llamar desde otra página….
Lo importante a tener en cuenta, es que cuando se carga la página principal se carga, mis controles de usuario también lo hacen, por este motivo, lo mejor es no hacer ningún tipo de carga en el load del control de usuario, sino tener un procedimiento público el cual se llame cuando necesito ese control de usuario.

Para hacer el llamado de cada sección, creo un treeview, donde cada nodo me hará el llamado de una sección diferente…

Espero les sea de utilidad…Especial agradecimiento a Marc Rubiño !!

Descarga del código fuente…

Mensajes de usuario con Ajax

Posted on Actualizado enn

Muchas veces nos preguntamos, como mostrar mensajes al usuario en nuestra aplicación, ya sea informando sobre un error o bien indicando que una acción termino correctamente.

En esta ocasión, voy a mostrar como soluciones este problema usando el grandioso ajax, más en detalle el modalpopup extender.

La idea es mostrar tres tipos de mensajes (correcto,advertencia y error), para que el usuario sepa exactamente lo que ha sucedido. Así, la pariencia final de nuestros mensajes serán:

Lo primero que debemos hacer es añadir la referencia al toolkit de ajax, luego de agregarlo, definimos la interfaz (para el ejemplo serán tres botones, uno para cada tipo de diálogo).

Luego, añadimos un panel, esta panel será el encargado de contener el mensaje, y será el panel objeto del modalpopupextender de ajax.

Dentro del panel se han definido dos tablas, las cuales contendrán el encabezado del mensaje y el cuerpo del mensaje.

Luego añadimos el control de ajax, en donde pnlMensaje es el panel que contiene todo el cuadro de mensaje, el okcontrolid, es el id del control que cerrará el mensaje, BackgroundCssClass es el estilo definido para el resto de la pantalla, asi el usuario no podrá realizar ninguna acción mientras que el mensaje este visible, y el targetcontrolid “supuestamente” el control que mostrara el mensaje, pero luego veremos que no sera asi, sin embargo se debe definir el control con un estilo en display none para que no sea visto en la página.

Luego de crear la interfaz, pasamos al codebehind, y alli realmente sera en donde se llame cada mensaje.

Primero creamos una enumeracion, la cual contiene los tres tipos de mensajes:

Private Enum TipoMensaje
eerror = 1
correcto = 2
advertencia = 3
End Enum

Luego, creamos un procedimiento el cual se encargara de mostrar el mensaje, y definir el estilo q se aplicará. Este procedimiento recibirara dos parametros, el mensaje para el usuario y el tipo del mensaje (el cual sera sesgado por la enumeracion creadada). Dentro de la funcion definimos los estilos para cada mensaje dependiendo del tipo de mensaje recibido.

Private Sub mostrarmensaje(ByVal mensaje As String, ByVal Tipo As TipoMensaje)
Select Case CInt(Tipo)
Case 1
pnlMensaje.CssClass = “CajaDialogoError”
mensajeheaderPanel.CssClass = “MensajeHeaderError”
Case 2
pnlMensaje.CssClass = “CajaDialogoCorrecto”
mensajeheaderPanel.CssClass = “MensajeHeaderCorrecto”
Case 3
pnlMensaje.CssClass = “CajaDialogoAdvertencia”
mensajeheaderPanel.CssClass = “MensajeHeaderAdvertencia”
End Select
mensajeLabel.Text = mensaje
mpeMensaje.Show()
End Sub

y listo… ya tenemos para nuestro sitio tres tipos de mensajes… cualquier duda o comentario julito_gtu@hotmail.com

Puedes descargar el ejemplo aquí !!

TextBox solo números

Posted on Actualizado enn

Hola, por algún tiempo, estuve desarrollando aplicaciones de escritorio (aún lo hago, pero no tan frecuente) en las cuales podemos decir que poseemos el control de todo, sin embargo, cuando damos ese paso al desarrollo Web, nos encontramos con muchos obstaculos, por ejemplo el validar lo que el usuario digita, lo cual es muy util cuando deseamos una aplicación más versatil y segura.

Bueno, cuando tenia que validar lo que el usuario digita, me encontre con que la mejor manera de hacer dicha validación es con JavaScript, ya que nos evitamos el ir hasta el servidor, así todo queda en el cliente.

Bueno lo primero que se debe hacer crear la función de javascript, en el ejemplo tengo dos funciones, una valida que solo se ingresen letras y la otra que solo sean números, las funciones realmente son muy fáciles, pero pueden extenderse aún más:

function Numeros() {
var key = window.event.keyCode;
if (key 57) {
window.event.keyCode = 0;
}

}

function letras() {
var key = window.event.keyCode;
if (key 57) {

}
else {
window.event.keyCode = 0;
}

}

En las anterioes funciones, simplemente validamos por código ascii cual fue el caracter digitado, y dependiendo del caracter cancelamos el evento o no.
Luego, en el evento load de la página, le agregamos el evento o atributo al campo o campos de texto que deseamos validar de la siguiente manera:

numerosTextBox.Attributes.Add(“onKeyPress”, “Numeros()”)
letrasTextBox.Attributes.Add(“onKeyPress”, “letras()”)

Lo que debemos hacer, es que al campo de texto le agregamos un nueo atributo, que seria el evento keypress…. bueno eso es todo.. un rápido y fácil ejemplo para tener un poco más de control en nuestras aplicaciones…

Puedes descargar el ejemplo aqui !!

ASP GridView Master – details

Posted on Actualizado enn

Hola a todos, bueno este es mi primera entrada en la cual voy a mostrar algo interesante, necesitaba mostrar en un gridview información general y luego mostrar los detalles, y entre tantas opciones la que encontre les presentare la que mas me gusto (todos los ejemplos que encontre eran en c# y yo uso visual basic), asi q espero les guste y lo aprovechen…. cualquier comentario con gusto sera atendido


Para descargar el ejemplo completo pulsa aqui !!

Info del blog

Posted on

Hol@ a todos, primero que todo gracias por visitar miblog, espero que se vuelva una constumbre. Quiero tratar en este blog temas sobre programacion en visual basic.net, aunque no soy un experto poco a poco subire ejemplos y aportes interesantes para todos aquellos que se inician o ya conocen el fantastico mundo del visual basic !!