• Domingo 22 de Diciembre de 2024, 20:52

Autor Tema:  Obtener indice de una celda en un DataGridView  (Leído 3508 veces)

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Obtener indice de una celda en un DataGridView
« en: Sábado 14 de Agosto de 2010, 00:18 »
0
Hola a todos , tengo un método para agregar filas en un DataGridView de acuerdo a la cantidad de registros que obtengo en una List.
El punto es que necesito saber como obtener el indice de la fila que acabo de insertar con  dataGridView2.Rows.Add, pues lo necesito para asignar a la columna 2 que es tipo ComboBoxCell un DataSource.

Si alguien me puede ayudar se los agradezco mucho

Código: C#
  1.  
  2. private void MostrarDatos()
  3.         {
  4.             List<AdminSaldoDetTR> llistarAdmin = new AdminSaldoNG().listarFacturasAdmin(conexionOracle,tbcampoConsulta, tbConsecutivo.Text);
  5.             foreach (AdminSaldoDetTR admintr in llistarAdmin)
  6.             {
  7.                 dataGridView2.Rows.Add(admintr.Nolinea, admintr.Factura, null, null, null, admintr.DocumentoReferencia,
  8.                     admintr.ValorAsignado, admintr.SaldoFactura, admintr.CodigoDivision,admintr.SubConcepto,
  9.                     admintr.DocumentoCruce,admintr.Estado);
  10.          ((DataGridViewComboBoxCell)dataGridView2.Rows[Indice].Cells[2]).DataSource = ltDivision;
  11.             }
  12.        }
  13.        
  14.  

lugarda

  • Miembro activo
  • **
  • Mensajes: 52
  • Nacionalidad: co
    • Ver Perfil
Re: Obtener indice de una celda en un DataGridView
« Respuesta #1 en: Viernes 20 de Agosto de 2010, 23:35 »
0
Bueno chicos, le di tantas vueltas al asunto que la única forma que encontré para solucionarlo , fue recorrer el DataGridView cada que inserto una fila , así:
Código: C#
  1.  
  2.  private void MostrarDatos()
  3.         {
  4.             //obtener los datos de la tabla maestra tbadmin_saldo
  5.             List<AdminSaldoTR> lobtenerAdmin = new AdminSaldoNG().obtenerAdminSaldo(conexionOracle, tbcampoConsulta, tbConsecutivo.Text);
  6.             foreach (AdminSaldoTR adminsaldo in lobtenerAdmin)
  7.             {
  8.                 tbFechaCrea.Text = adminsaldo.FechaCreacion.ToString();
  9.                 tbUsuCrea.Text = adminsaldo.UsuarioCreacion;
  10.                 tbEstado.Text = adminsaldo.Estado;
  11.                 tbFechaModifica.Text = adminsaldo.FechaModifica.ToString();
  12.  
  13.                 tbUsuarioModifica.Text = adminsaldo.UsuarioModifica;
  14.             }
  15.  
  16.             List<AdminSaldoDetTR> llistarAdmin = new AdminSaldoNG().listarFacturasAdmin(conexionOracle,tbcampoConsulta, tbConsecutivo.Text);
  17.             foreach (AdminSaldoDetTR admintr in llistarAdmin)
  18.             {
  19.                 dataGridView2.Rows.Add(admintr.Nolinea, admintr.Factura, null, null, admintr.ValorAsignado,admintr.DocumentoReferencia,
  20.                 admintr.ValorAsignado, admintr.SaldoFactura, admintr.CodigoDivision,admintr.SubConcepto,
  21.                 admintr.DocumentoCruce,admintr.Estado,admintr.FechaCreacion,admintr.UsuarioCreacion);
  22.                 foreach (DataGridViewRow fila in dataGridView2.Rows)
  23.                 {
  24.                     if (!fila.IsNewRow)
  25.                     {
  26.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[2]).DataSource = ltDivision;
  27.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[2]).ValueMember = "Codigo";
  28.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[2]).DisplayMember = "Nombre";
  29.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[2]).Value =
  30.                         Convert.ToInt32(dataGridView2.Rows[fila.Index].Cells[8].Value);
  31.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[3]).DataSource = ltSubconcepto;
  32.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[3]).ValueMember = "CodigoSubconcepto";
  33.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[3]).DisplayMember = "Descripcion";
  34.                         ((DataGridViewComboBoxCell)dataGridView2.Rows[fila.Index].Cells[3]).Value =
  35.                              Convert.ToInt32(dataGridView2.Rows[fila.Index].Cells[9].Value);
  36.                     }
  37.                 }
  38.             }
  39.         }
  40.  
  41.  
  42.  
espero le sirva a alguien.
hasta pronto.