Answered problema 6

  • Thursday, November 26, 2009 1:35 AM
     
     
    Hola de nuevo aqui:
    quisiera saber como seleccionar en una grilla un registro y q me lllene los textbox q estan en otro formulario
    • Edited by studentI Thursday, November 26, 2009 2:47 PM
    •  

All Replies

  • Thursday, November 26, 2009 2:48 AM
     
     
    Si puedes explicarte mejor seria de ayuda.

    ¿El formulario donde quieres cargar los datos ya esta abierto antes de que selecciones el registro de la grilla?

    Puedes usar el evento CellContentClick y apartir de ahi obtener los datos de la fila seleccionada.



    Saludos.
  • Thursday, November 26, 2009 2:56 AM
     
     

    mira mi formulario no esta abierto donde quiero transferir los datos lo q estoy haciendo es una busqueda de datos donde lo q yo quiero hacer despues de q me de el cliente selcionarlo y me lleve al otro formulario y me llene los textbox con los datos q eh seleccionado solo 2 textbox nombre y cod

    en mi formulario1 :
    try

    {

     

    DataSet ob = new DataSet();

    ob = o.obtenerdatoscliente(

    int.Parse(Convert.ToString(textDNI.Text)));

    dataGrid1.DataSource = ob.Tables[0];//datos obtenidos a partir de una busqueda auna tabla clientes

    }

     

    catch

    {

     

    MessageBox.Show("Datos no encontrado");

    }

  • Thursday, November 26, 2009 7:06 AM
     
     
    mira please aqui te dejo el codigo q e intentado para seleccionar un registro :

     

    private void dataGrid1_CurrentCellChanged(object sender, EventArgs e)

    {

     

    DataSet ob = new DataSet();

    ob = o.obtenerdatoscliente(

    int.Parse(Convert.ToString(textDNI.Text)));

    ob.Tables[0].Rows[0][1].ToString();

     

     

    if ( ob.Tables[0].Columns.Count> 0)

    {

     

     

    for (int i = 0; i < ob.Tables[0].Columns.Count; i++)

    {

     

    dataGrid1.Select(i);

     

    }

     

    }

    }
    pero no se como puedo seleccionar el registro enviarlo a unos textbox en un formulario y no se como puedo mandarlo por favor te lo agradeceria por ejemplo del registro seleccionado quiero q me aparesca en el textboxt en el otro formulario su nombres en uno y su codigo en otro textboxt please ayudame

  • Thursday, November 26, 2009 8:06 AM
    Moderator
     
      Has Code
    Hola,

    Espero poder ayudarte

    Mira puedes hacerlo en el evento "SelectionChanged" del dataGridview:

    Tienes que comprobar que tenga filas seleccionadas con dataGridView1.SelectedRows.Count>0
    y a continuación tienes que tener los controles del segundo formulario de tipo publicos o guardar los valores del grid en propiedades del formulario 2.

    En el ejemplo que te paso, tengo las cajas de texto de tipo publico para que sean accesibles, y abro el formulario 2 de forma modal para bloquearlo.

    Si tienes alguna pregunta mas aqui estamos.


     private void dataGridView1_SelectionChanged(object sender, EventArgs e)
            {
    
                  try
                {
                    if (dataGridView1.SelectedRows.Count>0)
                    {
                        Form2 f =new Form2();
                        f.textBox1.Text=dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
                        f.textBox2.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
                        f.ShowDialog();
                    }
                }
                catch (Exception ex)
                {
    
                    MessageBox.Show("Error");
                }
            }
    Un saludo

    Mi Blog: Jtorrecilla
  • Thursday, November 26, 2009 3:05 PM
     
     
    hjdfhjdhf
    • Edited by studentI Sunday, November 29, 2009 3:24 AM
    •  
  • Thursday, November 26, 2009 3:22 PM
    Moderator
     
     Proposed Answer
    hola

    Utilizar DataGrid en .NET Compact Framework


    el tema pasa porque el Select no devuelve ningun dato, solo selecciona la fila, pero no tiene retorno de esta

    DataGrid. Select (Método) (Int32)


    por ahi deberias utilizar la propiedad
    DataGrid. CurrentRowIndex

    DataGrid. Item (Propiedad) (Int32, Int32)

    podrias hacer:

    f.textBox3.Text = Convert.ToString(dataGrid1.item(DataGrid.CurrentRowIndex, 0));

    o por ahi funcione con:

    f.textBox3.Text = Convert.ToString(dataGrid1[DataGrid.CurrentRowIndex, 0]);


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
  • Thursday, November 26, 2009 3:29 PM
    Moderator
     
      Has Code
    Hola podrias probar con DataGrid1.CurrentCell.RowNumber?? Eso en teoria te va a dar el valor de la fila de la celda actual, abajo te pongo un ejemplo.
    private void dataGrid1_CurrentCellChanged(object sender, EventArgs e)
    
    {
    
    //if (dataGrid1.VisibleRowCount > 0)
    
     
    
    // {
    
     
    
    try
    
    {
    
     
    
    if (dataGrid1.VisibleRowCount > 0)
    
    {
    
     
    
    Enviosdedinero f = new Enviosdedinero();
    
    f.textBox3.Text = dataGrid1.Select(0);//pero me sale error
    
    
    f.textBox8.Text =dataGrid1.rows[dataGrid1.CurrentCell.RowNumber].cell["Celda"].Value.ToString();
    f.ShowDialog();
    
    }
    
    }
    
     
    
    catch (Exception ex)
    
    {
    
     
    
    MessageBox.Show("Error");
    
    }


    Mi Blog: Jtorrecilla
  • Thursday, November 26, 2009 4:10 PM
     
     
    nnsnnsn
    • Edited by studentI Sunday, November 29, 2009 3:23 AM
    •  
  • Thursday, November 26, 2009 4:13 PM
    Moderator
     
     
    Si le pones el currentRowIndex.Tostring te va a poner el valor dle indice de la actual celda,

    tendras que poner algo como dataGrid1.Rows[datagrid1.CurrentRowIndex].cells["celda 1"] donde celda 1 será la celda que le quieres asignar al textbox....


    Mi Blog: Jtorrecilla
  • Thursday, November 26, 2009 4:18 PM
    Moderator
     
     Answered
    hola


    hasta dnde puede ver el DataGrid, no tiene la propiedad Rows

    este la tiene el DataGridView



    es por eso que recomendaba probar con


    f.textBox3.Text = Convert.ToString(dataGrid1.item(DataGrid.CurrentRowIndex, 0));

    o por ahi funcione con:

    f.textBox3.Text = Convert.ToString(dataGrid1[DataGrid.CurrentRowIndex, 0]);



    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marked As Answer by studentI Sunday, November 29, 2009 3:23 AM
    •  
  • Sunday, December 13, 2009 6:29 AM
     
      Has Code
    Hola podrias probar con DataGrid1.CurrentCell.RowNumber?? Eso en teoria te va a dar el valor de la fila de la celda actual, abajo te pongo un ejemplo.
    private void dataGrid1_CurrentCellChanged(object sender, EventArgs e)
    
    {
    
    //if (dataGrid1.VisibleRowCount > 0)
    
     
    
    // {
    
     
    
    try
    
    {
    
     
    
    if (dataGrid1.VisibleRowCount > 0)
    
    {
    
     
    
    Form2 f = new Form2();
    
    f.textBox3.Text = dataGrid1.Select(0);//pero me sale error
    
    
    f.textBox8.Text =dataGrid1.rows[dataGrid1.CurrentCell.RowNumber].cell["Celda"].Value.ToString();
    f.ShowDialog();
    
    }
    
    }
    
     
    
    catch (Exception ex)
    
    {
    
     
    
    MessageBox.Show("Error");
    
    }
    


    Mi Blog: Jtorrecilla