Tutorial : Hacer Combos Dependientes tipo Departamento Ciudad en ASP. Net



Documentos relacionados
GUÍA DE TRABAJO N 11 LENGUAJE C# Programación de Software Articulación SENA Grado 10 Ing. Néstor Raúl Suarez Perpiñan Página 2 de 11

Practica 7 Conexión a su base de datos. Optativa II

Conexión SQL Server y C# (Consola)

Aplicaciones Windows con Microsoft Visual Studio

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Curso de PHP con MySQL Gratis

Trabajos de Ampliación. Bases de datos NoSQL.

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN

Desarrollo de Servicios Web con JBuilder

En este ejemplo también vamos a crear la capa Entidades que va a servir para modelar nuestra base de datos.

ADO.NET con Base de datos SQL Server

3.- Desarrollo e implementación del sistema.

Un poco de culturilla...1 Crear un servicio Web...1 Usar servicios web...6

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa

Conectar Flash con Access usando MDM Zinc

Desarrollo de WebParts

BASES DE DATOS AVANZADAS Transacciones en MYSQL

Programación de Aplicaciones Visuales II Ejercicio Paso a Paso: Aplicación para HelpDesk

T12 Vistas y tablas temporales

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

6- Combinación de tablas

TUTORIAL APLICACIONES EVOLUTION CON ACTIVEX EVOLINK

SISTEMA DE ENCUESTAS CON PHP Y MYSQL

Creación de un sistema ABC

- Bases de Datos - - Diseño Físico - Luis D. García

UNIVERSIDAD LIBRE DE COLOMBIA FACULTAD INGENIERIA DE SISTEMAS ELECTIVA TECNICA II.NET Y SQL SERVER

SUBIENDO NUESTRA WEB CON MACROMEDIA DREAMWEAVER

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Video 2: Cómo Crear una plantilla para Generar Procedimientos Almacenados

COBHTTPD Tutorial COBHTTPD. Servidor de Aplicaciones para COBOL. Tutorial Ver Page - 1 -

Acceso a base de datos SQLite desde Gambas

Tema: Conexión a Base de Datos.

TEMA 5: Trabajando con bases de datos. ClaseOracleBD

Text Mining: Distancia de Levenshtein

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

Hostaliawhitepapers. Usar Plesk para, poner en marcha nuestro dominio.

Proyecto visual C# 2005 Express Edition: Imprimir Página 1 de 5

[Titulo] : Creacion de un Troyano de Conexion Inversa [Lenguaje] : C# [Autor] : Doddy Hackman. [Temario]

Operación Edit, Delete, Update e Insert en un DataGrid: Parte I

COMO CREAR UN ÁLBUM DE FOTOS.

Taller: Introducción a Windows Communication Foundation

Instructivo para la sincronización de servidores Intellect

Introducción a PostgreSQL con PHP

Paso del E-R a tablas

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3.

Practica 11: Conexión de Java con Bases de datos Access

Lazarus Free Pascal Compiler

Tutorial para la creación de un sitio Web con un formulario ASP.NET

MANUAL BASICO DE WEBEX

Bases de datos relacionales y el modelo entidad-relación

INSTALACIÓN DE GITLAB

5- Uso de sentencias avanzadas

PHP Perfect SQL v1.0 (SQL perfectas en PHP)

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

Tema: MAPEO OBJETO RELACIONAL (ORM) - ADODB

Acceso a datos con ADO.NET 2.0 (sin asistentes)

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

CÓMO CREAR NUESTRO CATÁLOGO

Instalación de Casandra Para instalar cassandra se recomienda tener la última versión de JAVA instalada.

1. PRIMERO ABRIMOS EL APLICATIVO PGADMIN lll CON EL CUAL EMPEZAREMOS A CREAR NUESTRA BASE DE DATOS: PASOS: INGRESAMOS A INICIO

Qué es Skype? Cuáles son las ventajas de Skype?

Instalación Joomla. Instrucciones para instalar Joomla en un pc en la red local del instituto, o en un servidor en Internet

Parsear HTML con htmlparser para Android Guillem Pérez

Uso de varias pantallas y pantalla Splash

Instrucciones de instalación de TrueCode

Enlaces relacionados:

Manual de iniciación a

Servidor web E-Sniper

Se puede usar este módulo para agregar 4 puertos seriales, no olvidar que para agregar los módulos se tiene que apagar el router y después encenderlo.

Introducción a LinoIt Breve guía sobre algunas de sus funcionalidades destacables.

Tenemos que instalar los programas de los usuarios también (los anteriormente mencionados) y los siguientes que vamos a nombrar.

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Base de datos I Facultad de Ingeniería. Escuela de computación.

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Tablas y Campos Nuevos

Lazarus Free Pascal Compiler

Programación de Objetos.Net C# LDP / DUOC-AV

CONFIGURANDO EL CLIENTE DE FLU

Actividades con GeoGebra

TRABAJO GRUPAL TEMA: COMO CREAR BASE DE DATOS EN SQL

)*&+,,,+,,-!. %!! " " ) "* / !.3 / # / 5#!1!6#! "!0

Tutorial de Unity 3D Tema 52 Bases de Datos. Tutorial de Unity 3D. Bases de Datos


Paso 2 Una vez se ha completado la instalación y ejecutado el programa, veremos esto

DOMINIO CON IP DINÁMICA

Versatils. Apéndice. ODBC Orígenes de datos. ODBC Orígenes de datos.

Instalación Software Administrador de Videoclub

PHP Y BASES DE DATOS. Introducción a SQL

3.1 Definir objetivos y contenidos de la página web

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

Día 2: Utilizando controles de datos en Visual Studio 2008.

2. Seleccione OneDrive en la parte superior de los sitios de SharePoint u Office 365 de su organización.

Cómo acceder a Google Drive? Tiene más funcionalidades una cuenta de Google?

Programación en Capas con VB.net y PostgreSQL

Ubuntu Server HOW TO : SERVIDOR VPN. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar vpn. Qué es una VPN?

*si tuvieron algún problema pueden verificar la documentación oficial Vamos a crear una BD llamada droid_login como lo muestra la siguiente imagen:

Curso de Android con Java

Transcripción:

Tutorial : Hacer Combos Dependientes tipo Departamento Ciudad en ASP. Net Hola amigos, les traigo una manera muy muy sencilla hacer combos o listas desplegables dependientes tipo departamento ciudad utilizando una herramienta muy práctica de Asp- Ajax llamada updatepanel, no debemos ser unos expertos en Ajax solo seguir estos pasos así que sin más preámbulos empecemos. He trabajado con la última versión de visual estudio para web pueden descargar la versión gratuita desde acá http://www.microsoft.com/visualstudio/esn/downloads#d-express-web Bueno entonces comencemos: Antes de todo necesitamos una base de datos create database prueba; use prueba; create table departamento (cod_departamento int primary key identity(1,100), nombre varchar(80) not null, ) create table ciudad ( cod_ciudad int primary key identity(1,100), nombre varchar(50) not null, cod_departamento int foreign key references departamento(cod_departamento)not null, ) Y los procedimientos create procedure cons_departamento as select cod_departamento, nombre from departamento; create procedure cons_ciudades @cod_departamento int as select cod_ciudad, nombre from ciudad where cod_departamento= @cod_departamento; y claro unos datos de prueba //departamentos insert into departamento values ('AMAZONAS') insert into departamento values ('ANTIOQUIA') //ciudades para amazonas insert into ciudad values ('EL ENCANTO', 1) insert into ciudad values ('LA CHORRERA', 1) //ciudades para antioquia insert into ciudad values('abriaquí',101) insert into ciudad values('alejandría',101)

Primero crearemos una solución en blanco y agregaremos 3 proyectos uno llamado Lógica será una biblioteca de clases, otro llamado Conexión también biblioteca de clases y otro llamado Presentación este es un sitio web Luego agregaremos las referencias

En lógica se agregara referencia al proyecto conexión Y en presentación se agregaran referencias a conexión y a lógica Ahora agregaremos clases a nuestros proyectos Lógica y Conexión Estas se llamaran lógica y conexión respectivamente y se verá así

Dentro de la clase conexión nos conectaremos con la base de datos en SQL server así using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace Conexion public class conexion private SqlConnection conex = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=subasededatos;Integrated Security=True"); private bool conectar() try conex.open(); return true; catch conex.close(); return false; public bool comando(string comando) bool ret = false; try if (conectar()) SqlCommand cmd = new SqlCommand(comando, conex); cmd.executenonquery(); ret = true; catch conex.close(); return ret; public DataTable consulta(string comando) DataTable ret = new DataTable(); try if (conectar()) SqlDataAdapter da = new SqlDataAdapter(comando, conex); da.fill(ret); catch

conex.close(); return ret; Y en la clase lógica llamaremos dos pequeños procedimientos almacenados que se encargaran de cargar las ciudades y departamentos. Es importante agregar la directiva using System.Data; en la clase para poder trabajar Y en la clase pondremos public DataTable departamentos() Conexion.conexion cone = new Conexion.conexion(); DataTable dt = cone.consulta("exec cons_departamento"); return dt; public DataTable ciudades(int cod_departamento ) Conexion.conexion cone = new Conexion.conexion(); DataTable dt = cone.consulta("exec cons_ciudades '"+cod_departamento+"'"); return dt; Y bueno finalmente la página web que puede ser el default o una que ustedes agreguen, pueden usar css, js y todo lo que quieran. En la página web haremos lo siguiente Vamos al cuadro de herramientas y buscamos Extensiones AJAX Y arrastramos un ScriptManager y un UpdatePanel

Y lo acomodan según sus necesidades en mi caso se ve así en el diseñador por las css pero ustedes acomódenlo como quieran en mi caso se verá así al final Bien en el código tendremos esto un combo departamento del cual dependerá el combo ciudades <div class="styled-select"> <asp:dropdownlist ID="departamento" AutoPostBack="true" runat="server" Height="25px" style="margin-left: 0px; margin-top: 0px;" Width="220px" OnSelectedIndexChanged="departamento_SelectedIndexChanged" > </asp:dropdownlist> </div>

// Acá es importante destacar dos cosas uno es necesario que este activado el AutoPostBack="true" y es importante que este el evento OnSelectedIndexChanged="departamento_SelectedIndexChanged" > este indicara al aplicativo que hacer cuando cambie la selección en el combo este se obtiene dando doble click al combo en el diseñador de visual una vez // Y acá tenemos el update panel y adentro el combo ciudades //el updatepanel permitirá que solo se recargue esa parte de la página, pueden meter todos los controles que necesiten recargar esta herramienta es muy útil para traer datos desde la BD de manera asincrónica // <asp:scriptmanager ID="ScriptManager1" runat="server"> </asp:scriptmanager> <asp:updatepanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" > <ContentTemplate> <div class="styled-select2"> <asp:dropdownlist ID="ciudad" runat="server" Height="27px" style="margin-left: 0px" Width="220px"> </asp:dropdownlist> </div> </ContentTemplate> <Triggers> <asp:asyncpostbacktrigger ControlID="departamento" EventName="SelectedIndexChanged" /> </Triggers> </asp:updatepanel> //Aca hay dos cosas muy importantes : <ContentTemplate> este permite introducir los controles en el updatepanel, los combos, textbox, etc. La otra cosa es <Triggers> este nos indicara cuando va accionarse el updatepanel en este caso en el evento de cambio del combo departamentos Si quieren mas información sobre los updatepanel y todo lo que pueden hacer con ellos miren este link http://msdn.microsoft.com/eses/library/system.web.ui.updatepanel(v=vs.100).aspx// Continuemos. Hasta ahora tenemos base de datos, solución, métodos que llaman procedimientos de la BD y una interfaz ahora vamos a hacer que funcione. En el evento load de la página que lo pueden encontrar dando doble click sobre cualquier parte vacía del diseñador pondremos este código //importante Ponemos las directivas en la pagina using System.Data.SqlClient; using System.Data; //

protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) // carga de los departamentos disponibles en la base de datos DataTable dt6 = new DataTable(); dt6 = elem.departamentos(); departamento.datasource = dt6; departamento.datatextfield = "nombre".tostring(); departamento.datavaluefield = "cod_departamento".tostring(); departamento.databind(); Esto hará que se carguen los departamentos desde cero Solo si es la primera vez que se carga la página de lo contrario se mantendrá la selección Y ahora debemos programar lo que ocurrirá cuando seleccionen algo ene l combo, para entrar al evento podemos hacer doble click sobre el combo departamentos en el diseñador y automáticamente nos llevara al código y una vez allí pondremos esto protected void departamento_selectedindexchanged(object sender, EventArgs e) int codigo = Convert.ToInt32(this.departamento.SelectedValue); // carga de las ciudades disponibles en la base de datos, segun su departamento DataTable dt7 = new DataTable(); ciudad.items.clear(); dt7 = elem.ciudades(codigo); ciudad.datasource = dt7; ciudad.datatextfield = "nombre".tostring(); ciudad.datavaluefield = "cod_ciudad".tostring(); ciudad.databind(); Cuando lo ejecuten ya podrán ver cómo funciona Gracias espero que les haya servido. Samanta Cantero. @zamdd en twitter Este y más tutoriales : http://titaniumsoluciones.hol.es/