none
data grid RRS feed

  • Pregunta

  • tengo un web service y ahi tengo un metodo que hace una consulta y llena un dataset.
    En mi win form utilizo ese dataset para llenar un datagrid hasta ahi vamos bien,lo que quiero hacer es que cuando uno selecciona una fila del datagrid poder capturar essodatos para pasarlos a otro datagrid .
    sugerencias?
    muchas garacias por la ayuda

    x4vi87
    miércoles, 13 de octubre de 2010 15:53

Respuestas

  • hola,

     

    >tengo un web service y ahi tengo un metodo que hace una consulta y llena un dataset.
    >En mi win form utilizo ese dataset para llenar un datagrid hasta ahi vamos bien,lo que
    >quiero hacer es que cuando uno selecciona una fila del datagrid poder capturar essodatos
    >para pasarlos a otro datagrid 


    Te hice un Ejemplo Simple de como hacerlo a mi me funciono espero que te sea de utilidad.


    Paso 1 Creo una Funciono el WebService  para Retornar la informacion

       [WebMethod]
            public DataTable  ObtenerDatos() 
            {
              DataSet1.IngresoDataTable dt = new DataSet1.IngresoDataTable();
              DataSet1TableAdapters.IngresoTableAdapter da = new   DataSet1TableAdapters.IngresoTableAdapter();
        
              dt = da.GetData();

              return dt;

            }

    Paso 2  Lleno El primer DataGridview1 

    ServiceReference1.Service1SoapClient sv = new ServiceReference1.Service1SoapClient();
    DataGridView1.DataSource = sv.ObtenerDatos();

    Paso 3 Lleno el Datagridview2 con la Fila Selecionada del Primer DataGridView1

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                SqlConnection cn = new SqlConnection();
                int valor = dataGridView1.Rows[e.RowIndex].Cells[0].Value ;
                SqlCommand cmd = new SqlCommand("select * from tabla where campo1='"+ valor +"' ", cn);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable

                try
                {
                    da.Fill (dt);
                       this.dataGridView2.DataSource= dt ;
                }
                catch (Exception)
                {
                    
                    throw;
                }

            }

     


    Enmanuel Grullard@Developer ASP.NET
    miércoles, 13 de octubre de 2010 19:14
    Moderador

Todas las respuestas

  • hola

    cuando realizas la invocion al web service guarda el dataset que retorna en una variable privada pero global al formulario

    y tambien carga el datagridview

    cuando realices un click en una celda podrias suar el evento CellClick o CellDoubleClick y alli tomarias el valor de alguna celda que identifique el registro de forma especifica

    con este valor usa el metodo DataTable.Select (Método) (String)

    este retornara los registros que filtren en memoria los datos del dataset

    entonces ya con esta info la insertas en el otro datagridview

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 13 de octubre de 2010 16:41
  • hola,

     

    >tengo un web service y ahi tengo un metodo que hace una consulta y llena un dataset.
    >En mi win form utilizo ese dataset para llenar un datagrid hasta ahi vamos bien,lo que
    >quiero hacer es que cuando uno selecciona una fila del datagrid poder capturar essodatos
    >para pasarlos a otro datagrid 


    Te hice un Ejemplo Simple de como hacerlo a mi me funciono espero que te sea de utilidad.


    Paso 1 Creo una Funciono el WebService  para Retornar la informacion

       [WebMethod]
            public DataTable  ObtenerDatos() 
            {
              DataSet1.IngresoDataTable dt = new DataSet1.IngresoDataTable();
              DataSet1TableAdapters.IngresoTableAdapter da = new   DataSet1TableAdapters.IngresoTableAdapter();
        
              dt = da.GetData();

              return dt;

            }

    Paso 2  Lleno El primer DataGridview1 

    ServiceReference1.Service1SoapClient sv = new ServiceReference1.Service1SoapClient();
    DataGridView1.DataSource = sv.ObtenerDatos();

    Paso 3 Lleno el Datagridview2 con la Fila Selecionada del Primer DataGridView1

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                SqlConnection cn = new SqlConnection();
                int valor = dataGridView1.Rows[e.RowIndex].Cells[0].Value ;
                SqlCommand cmd = new SqlCommand("select * from tabla where campo1='"+ valor +"' ", cn);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable

                try
                {
                    da.Fill (dt);
                       this.dataGridView2.DataSource= dt ;
                }
                catch (Exception)
                {
                    
                    throw;
                }

            }

     


    Enmanuel Grullard@Developer ASP.NET
    miércoles, 13 de octubre de 2010 19:14
    Moderador