none
problema 6

    Pregunta

  • Hola de nuevo aqui:
    quisiera saber como seleccionar en una grilla un registro y q me lllene los textbox q estan en otro formulario
    • Editado studentI jueves, 26 de noviembre de 2009 14:47
    jueves, 26 de noviembre de 2009 1:35

Respuestas

  • 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
    • Marcado como respuesta studentI domingo, 29 de noviembre de 2009 3:23
    jueves, 26 de noviembre de 2009 16:18

Todas las respuestas

  • 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.
    jueves, 26 de noviembre de 2009 2:48
  • 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");

    }

    jueves, 26 de noviembre de 2009 2:56
  • 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

    jueves, 26 de noviembre de 2009 7:06
  • 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
    jueves, 26 de noviembre de 2009 8:06
  • hjdfhjdhf
    • Editado studentI domingo, 29 de noviembre de 2009 3:24
    jueves, 26 de noviembre de 2009 15:05
  • 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
    jueves, 26 de noviembre de 2009 15:22
  • 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
    jueves, 26 de noviembre de 2009 15:29
  • nnsnnsn
    • Editado studentI domingo, 29 de noviembre de 2009 3:23
    jueves, 26 de noviembre de 2009 16:10
  • 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
    jueves, 26 de noviembre de 2009 16:13
  • 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
    • Marcado como respuesta studentI domingo, 29 de noviembre de 2009 3:23
    jueves, 26 de noviembre de 2009 16:18
  • 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

    domingo, 13 de diciembre de 2009 6:29