Foros del Web » Programación para mayores de 30 ;) » .NET »

Coger datos desde código de un DataSource existente?

Estas en el tema de Coger datos desde código de un DataSource existente? en el foro de .NET en Foros del Web. Buenas tardes, Hasta ahora lo que hacía para obtener datos de la base de datos desde código era abrir una nueva conexión, con su correspondiente ...
  #1 (permalink)  
Antiguo 04/12/2009, 11:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 2 meses
Puntos: 0
Coger datos desde código de un DataSource existente?

Buenas tardes,

Hasta ahora lo que hacía para obtener datos de la base de datos desde código era abrir una nueva conexión, con su correspondiente sentencia select, command y filtrar por el valor del control que me interese.

Muchos de esos datos ya me los ofrecen datasources que tengo en la misma página, pero no se como accederlos y filtrarlos desde código sin que afecten a la página.

Es decir, (mi caso) imaginaos que tengo un datasource (digamos DS1) que me ofrece una serie de valores del siguiente tipo:

id valor descripcion
1 3 descripcion1
2 9 descripcion2
3 7 descripcion3

dicho datasource lo uso para cargar datos a un dropdownlist, teniendo por valor la columna id y muestro descripcion.

Ahora bien. Por código, para hacer operaciones necesito valor. Y necesito el campo valor de la fila que esté seleccionada en el dropdownlist.

Lo que haría en condiciones normales es abrir una nueva conexión, lanzar la select filtrando con id=dropdown.selectedvalue.

Puede hacerse algo del estilo:

NuevoControl.datasource =DS1

valor= NuevoControl.filaConId(dropdown.selectedvalue)

Con esto supongo que deberia ganar en rapidez, pues ahorro una conexión a la BBDD.

Me podeis echar una mano?

Mil gracias.
  #2 (permalink)  
Antiguo 07/12/2009, 17:40
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Coger datos desde código de un DataSource existente?

Saludos... Mira.. lo primero que tienes que hacer es ubicar en donde se encuentra el SOURCE.. y encontrar el control que te va arrojar el parametro.. te pongo un ejemplo:

Código EJEMPLO:
Ver original
  1. protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
  2.         {
  3.             DropDownList dropDown = (DropDownList)FormView1.FindControl("DropDownList1");
  4.             IdCampo = int.Parse(dropDown.SelectedValue);
  5.             TextoDataBind(IdCampo);
  6.         }
  7.  
  8.         private void TextoDataBind(int Campo)
  9.         {
  10.             DataTable dtTabla = new DataTable();
  11.             DataView Tabla = new DataView();
  12.            Tabla= (DataView)TablaX.Select(DataSourceSelectArguments.Empty);
  13.            Tabla.RowFilter = "IdPais='" + Campo + "'";
  14.            txtPrueba.Text = Tabla[0]["DescCorta"].ToString();
  15.            
  16.         }

Como podrás ver.. tengo un DropDownList dentro de un FormView.. el cual obviamente contiene una DataSourc enlazado, asi que primero ubico el control dentro del FormView y asigno una Variable Global para el indice(IdCampo)..

NOTA: Enlaza el Value al dropDowlista, ya que si lo enlazas al indice.. este se inicializará en 0.. y tu necesitas el VALOR.. si es entero utiliza un PARSE..

[IdCampo = int.Parse(dropDown.SelectedValue);]

Ahora instancia un DaTAVIEW o DataTable y lo que haras será llenar la info del DTASOURCE a uno de estos objetos.. el que mas te guste.. en el ejemplo mi DATASOURCE se llama TablaX.. y mi DataView Tabla..

y listo ahora puedes usarla como mejor te plazca para obtener los valores que requieres.. en el ejemplo te muestra un CAMPO(DescCorta) como Texto en un Textbox (txtPrueba) según lo que hayas elegido en el DropDownList.

Espero te sea de Utilidad... Cualquier duda ya sabes..

Atte. yo..
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#$r@ y compártela.
  #3 (permalink)  
Antiguo 10/12/2009, 11:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Coger datos desde código de un DataSource existente?

muchas gracias mad249, me funcionó de fábula!
  #4 (permalink)  
Antiguo 10/12/2009, 11:20
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Coger datos desde código de un DataSource existente?

Cita:
Iniciado por joseibarz Ver Mensaje
muchas gracias mad249, me funcionó de fábula!

De nada, para eso estamos, para eso es este foro que no??... Igual y se acepta KARMA ... ja ja, SALUDOS!!

atte. yo
__________________
Si caminas por la Senda del Conocimiento... y una Luz en la Oscuridad Ilumina tu Camino... No seas cu#$r@ y compártela.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:17.