Foros del Web » Programando para Internet » ASPX (.net) »

Pasar un DATASET desde un POPUP a un WEBFORM

Estas en el tema de Pasar un DATASET desde un POPUP a un WEBFORM en el foro de ASPX (.net) en Foros del Web. Saludos!!, Otra vez por aquí.. con una Duda desde luego.. Como ya había mencionado antes... estoy Empezando a programar en WEB y tengo una aplicación ...
  #1 (permalink)  
Antiguo 23/09/2009, 16:54
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Exclamación Pasar un DATASET desde un POPUP a un WEBFORM

Saludos!!, Otra vez por aquí.. con una Duda desde luego.. Como ya había mencionado antes... estoy Empezando a programar en WEB y tengo una aplicación en la cual abro un POPUP para realizar una Búsqueda en una BD, obviamente le envío parámetros para poder hacerlo.. con esto no tengo ningún problema... sin embargo la búsqueda me arroja un DataSET con 1 registro en específico. Este DATASET (o mas bien la info del registro) es lo que necesito para insertar los datos en el WEBFORM PADRE... Pero no sé como hacerlo...ya está creado, no se como enviarlo y llamarlo para el llenado de estos datos... Alguna Idea??

Lenguaje C#


Aki está una parte de mi código:

Este es para mi Busqueda con los parámetros
Código:
 
public partial class Busqueda : System.Web.UI.Page
    {
         DataSet dsDireccion; //DECLARACION DEL DATASET
         
        //...CODIGO OMITIDO PARA MAYOR CLARIDAD


        private void Carga_Valores()
        {
            string sDireccion = dsDireccion.Tables[0].Rows[0]["Direccion"].ToString();
            string sCiudad = dsDireccion.Tables[0].Rows[0]["Ciudad"].ToString();
            int IdEstado = int.Parse(ddlIdEstado.SelectedValue.ToString());

            this.txtDireccion.Text = sDireccion;
            this.txtCiudad.Text = sCiudad;
            this.ddlIdEstado.SelectedValue = IdEstado.ToString();


        }
        //FUNCION QUE REALIZA LA BUSQUEDA PARA LLENAR EL DATASET
        private void Buscar_Direccion()
        {

            dsDireccion = DAL.Direccion.Busqueda(bd.conexion, (int)eDireccion.Busqueda, txtDireccion.Text, txtCiudad.Text, int.Parse(ddlIdEstado.SelectedValue.ToString()));
            Carga_Valores();

            Response.Write("<script>window.close()</script>");
        }
        //BOTON VALIDA EL RESULTADO DE LA BUSQUEDA EN EL DATASET
        protected void btnBusqueda_Click(object sender, EventArgs e)
        {
            try
            {
                Buscar_Direccion();
                if (dsDireccion.Tables[0].Rows.Count > 0)
                {
                    img1.Visible = true;
                }
            }
            catch
            {
                img2.Visible = true;
            }
        }
       //...CODIGO OMITIDO
    }
Cualquier Sugerencia o COmentario es mas que Bienvenido... De antemano GRACIAS por su AYUDA

Última edición por mad249; 23/09/2009 a las 17:06 Razón: Error en vista Previa
  #2 (permalink)  
Antiguo 24/09/2009, 10:50
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Pasar un DATASET desde un POPUP a un WEBFORM

podrias meter el dataset en una variable de Session, el e popup la metes en la session y en el form padre usas esta session, eso si, asegurate de limpiar la session apenas dejas de utilizar el dataset para no abusar de la memoria.

en una variable de session puedes utilizar casi cualquier tipo de objeto.
__________________
roy rojas
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 24/09/2009, 11:35
Avatar de BlueSkull  
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 504
Antigüedad: 15 años, 5 meses
Puntos: 4
Respuesta: Pasar un DATASET desde un POPUP a un WEBFORM

Estimado esto hace lo que quieres pero con solo el id, ahora lo que tienes que hacer es tomar todos los valores y enviarlos como se envia el id:

ASPX:

Cita:
<form id="form1" runat="server" method="post">
<input type="hidden" id="control" runat="server" />
<div id="wrap">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
CellPadding="4" ForeColor="Black" GridLines="Vertical"
style="font-size: x-small; font-family: Arial, Helvetica, sans-serif; text-align: left;"
onselectedindexchanged="GridView1_SelectedIndexCha nged"
OnRowCommand="GridView1_RowCommand" >
<RowStyle BackColor="#F7F7DE" />
<Columns>
<asp:BoundField DataField="rut" HeaderText="RUT" />
<asp:BoundField DataField="cliente" HeaderText="CLIENTE" />
<asp:BoundField DataField="empresa" HeaderText="EMPRESA" />
<asp:CommandField ShowSelectButton="True" />
</Columns>
<FooterStyle BackColor="#CCCC99" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</div>
</form>
Code behind:

Cita:
private string parametro1;

protected void page_load(object sender, eventargs e)
{
funciones fun = new funciones();
string sql = "consulta_select";
gridview1.datasource = fun.llenar(sql);
gridview1.databind();
control.value = request.querystring["textbox"].tostring();
}

protected void gridview1_rowcommand(object sender, gridviewcommandeventargs e)
{
this.parametro1 = convert.tostring(gridview1.rows[convert.toint32(e.commandargument)].cells[0].text);
}

protected void gridview1_selectedindexchanged(object sender, eventargs e)
{
string strscript = "<script>window.opener.document.forms(0)." + control.value + ".value = '";
strscript += this.parametro1;
strscript += "';self.close()";
strscript += "</" + "script>";
clientscript.registerclientscriptblock(typeof(page ),"anything",strscript);
}
Adios.
__________________
"Incluso las torres más altas empiezan en el suelo."
"Sé Ágil..."
StreamWriter
  #4 (permalink)  
Antiguo 24/09/2009, 17:01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Pregunta Respuesta: Pasar un DATASET desde un POPUP a un WEBFORM

Pero ya habia mencionado que No tenía problemas para almacenar los dATOS del Dataset BLUESKULL, por la cantidad de información No quise utilizar el QUERYSTRING por lo mismo, Perdón por no comentarlo. Aun así GRACIAS. Precisamente eso estaba Buscando ROYROJAS... aunque surgió un "DETALLE" hice lo que mencionaste mi código quedó así en el POPUP:

Código SOLUCION:
Ver original
  1. private void Buscar_Direccion()
  2.         {
  3.  
  4.             dsDireccion = DAL.Direccion.Busqueda(bd.conexion, (int)eDireccion.Busqueda,
  5. txtDireccion.Text, txtCiudad.Text, int.Parse(ddlIdEstado.SelectedValue.ToString()));
  6.             Carga_Valores();
  7.  
  8.  
  9.             Session["dsDireccion"] = dsDireccion; //AQUI GUARDO MI DATASET
  10.  
  11.             Response.Write("<script>window.close()</script>");
  12.         }

y para llamarlo desde el WEBFORM "PADRE" utilizo el siguiente Código:

Código SOLUCION:
Ver original
  1. //...CODIGO OMITIDO
  2. DataSet dsDireccion;
  3.  
  4.  
  5.  
  6.         protected void Page_Load(object sender, EventArgs e)
  7.         {
  8.  
  9.             Session["idUsuario"] = 1;
  10.             idUsuario = (int)Session["IdUsuario"];
  11.             dsDireccion = (DataSet)Session["dsDireccion"];//AQUI CREO LA INSTANCIA
  12.             if (!Page.IsPostBack)
  13.             {
  14.  
  15.                 cboIdCliente_DataBind();
  16.                 carga_Valores();
  17.                
  18.  
  19.             }
  20. //..CODIGO OMITIDO
  21.  
  22.         }

DETALLE: Una vez que se Crea y Almacena el DataSet, cuando voy a actualizar la información y se llena los Campos que deseaba, la información no me la actualiza de echo se quedan como estáticos los valores y cuando vuelvo abrir la aplicacion con otros valores. me la llena con los datos del DS que mandé llamar en la 1er. petición (Muy COnfuso????)... SIMPLE: Cuando se hace la busqueda no me actualiza los datos hasta que vuelvo a correr la aplicacion una segunda vez...porque???
  #5 (permalink)  
Antiguo 24/09/2009, 17:07
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Pasar un DATASET desde un POPUP a un WEBFORM

creo que te faltaria hacerle bind al datagrid

DataGrid.DataBind
__________________
roy rojas
Programación en Español: DotNetcr.com
  #6 (permalink)  
Antiguo 24/09/2009, 17:34
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Pasar un DATASET desde un POPUP a un WEBFORM

Ok. Creo que se debe a que el "Session" donde llama la WEb PADRE.. o donde creé la Instancia Está Agregado sobre la Seccion de PAGE_LOAD()... pero entonces... donde debería estar?? si es una variable de SESSION o no???.. o algun ejemplo... No estoy usando un GRID para Guardar el DATASET.. solamente lo creo en la memoria para poder Sacar los datos a un TXTBOX que tengo.. eso ya está echo... pero los datos como les comento, no se Actualizan después del Cierre del POpUP. Sino mas bien... cuando Realizo un Evento que ejecute un POstBACK... PEro Los datos no cambian...
  #7 (permalink)  
Antiguo 24/09/2009, 18:48
 
Fecha de Ingreso: septiembre-2009
Ubicación: San Juan
Mensajes: 9
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Pasar un DATASET desde un POPUP a un WEBFORM

Hola mad249, mira me parece que te conviene solo tomar un DataTable con los datos; y sean estos enviados al Web Padre.
Es lo que yo hago y me funciona.:)
  #8 (permalink)  
Antiguo 25/09/2009, 09:09
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Busqueda Respuesta: Pasar un DATASET desde un POPUP a un WEBFORM

Muchas Gracias Conan_X, pero me podrías explicar un poco mejor como hacer lo del DATATABLE con los DATOS.. es decir.. Lo creo y lo despliego y de ahí tomo los datos o cómo lo hago??? ya que el DATASET solamente me arroja UN SOLO registro con datos... algún ejemplo de ello???.. DE nueva cuenta GRACIAS por sus APORTES!

Última edición por mad249; 25/09/2009 a las 09:14 Razón: Correción
  #9 (permalink)  
Antiguo 28/09/2009, 17:27
 
Fecha de Ingreso: septiembre-2009
Mensajes: 111
Antigüedad: 14 años, 7 meses
Puntos: 3
Pregunta SOLUCION: Pasar un DATASET desde un POPUP a un WEBFORM

Saludos Mis EStimados.. ya realicé el método que me indicaron de USar un GRIDVIEW enlazado a mi DATASET.. y funciona muy bien.. ya que solamente me trae los datos de un REGISTRO.. mi'código quedó así
Código SOLUCION DATASET:
Ver original
  1. private void Buscar_Direccion()
  2.         {
  3.  
  4.             dsDireccion= DAL.Cliente.Busqueda(bd.conexion, (int)eDireccion.Busqueda,
  5. txtDirText, txtCiudad.Text, int.Parse(ddlId.SelectedValue.ToString()));
  6.             Carga_Valores();
  7.            
  8.             //INDICO LA FUENTE DE MI DATAGRID
  9.             gridViewDir.DataSource = dsDireccion.Tables[0].DefaultView;            
  10.            
  11.             //SE HACE EL ENLACE
  12.             gridViewDir.DataBind();
  13.              
  14.             //GUARDO EL DATASET PARA ENVIARLO AL WEBFORM PADRE
  15.             Session["dsDirCliente"] = dsDireccion;
  16.  
  17.            //CODIGO OMITIDO...
  18.         }

GRACIAS a Todos los que me ayudaron a Lograrlo... PEro Me Surgió una nueva DUDA durante el Código...(PERDÓN pero Echando a PERDER se APrende) Y mi pregunta Sería la siguiente: SI en el GRIDVIEW Hubiera un Resultado de Mas de 1 Registro... como le indicaría Cuál Registro tomar??? Si uso un SeleCT es buena Opción pero y si Agrego una Columna de CHECKBOX o RADIOBUTTON, cómo se le indica que "Tome El registro MArcado"????

SI Saben Algun MEtodo se los agradecería BASTANTE,, de lo contrario.. DE TODAS MANERAS GRACIAS.. Fueron de mucha AYUDA con este problema...

Última edición por mad249; 10/11/2009 a las 11:47
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 07:15.