SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: lugarda en Miércoles 30 de Junio de 2010, 16:55

Título: Llenar columnas de Datagridview con datos
Publicado por: lugarda en Miércoles 30 de Junio de 2010, 16:55
Hola a todos,
tengo un datagridview con tres columnas predefinidas y quiero cargar estas columnas con los datos que obtengo de datatable, pero cuando corro el programa, en el Datagridview no se cargan los datos en las columnas predefinidas sino en unas nueva.
Código: C#
  1.  
  2.  
  3.  public partial class frmAdmonSaldos : Form
  4.     {
  5.         private OracleConnection conexionOracle;
  6.         public frmAdmonSaldos(OracleConnection conexionOracle, string tbcampoConsulta)
  7.         {
  8.             InitializeComponent();
  9.             this.conexionOracle = conexionOracle;
  10.             this.tbcampoConsulta = tbcampoConsulta;
  11.         }
  12.         private void frmAdmonSaldos_Load(object sender, EventArgs e)
  13.         {
  14.             try
  15.             {
  16.                 if (!string.IsNullOrEmpty(tbcampoConsulta))
  17.                 {
  18.                     Cursor.Current = Cursors.WaitCursor;
  19.                    dataGridView1.DataSource = new listarFacturasAdmin(conexionOracle, tbcampoConsulta);
  20.                     dataGridView1.AutoResizeColumns();
  21.                 }
  22.                 else throw new Excepcion("Número de recibo no puede ser nulo");
  23.             }
  24.             catch (Excepcion ex)
  25.             {
  26. MessageBox.Show(ex.reporteExcepcion(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
  27.  
  28. }
  29. }
  30.                
  31.  
  32. public DataTable listarFacturasAdmin(string tbcampoConsulta)
  33.         {
  34.             DataTable dt = new DataTable();
  35.             OracleDataAdapter adaptador = new OracleDataAdapter();
  36.             try
  37.             {
  38.                 using (OracleCommand consulta = conexionOracle.CreateCommand())
  39.                 {
  40.                     consulta.CommandText=(@"Select r.invoice_id as Factura,total_amount as Valor,total_amount-paid_amount as Saldo,
  41.                                                        null as AdminSaldo,null as CodAmin
  42.                                                From receivable r, cash_receipt_line cl, cash_receipt cs
  43.                                                 Where cs.check_id=:tbcampoConsulta and r.invoice_id=cl.invoice_id and cs.check_id=cl.check_id
  44.                                                         and total_amount-paid_amount !=0");
  45.                     consulta.Parameters.Add(new OracleParameter(":tbcampoConsulta", OracleType.Char)).Value = tbcampoConsulta;
  46.                     adaptador.SelectCommand = consulta;
  47.                     adaptador.Fill(dt);
  48.                 }
  49.             }
  50.             catch (Exception ex)
  51.             {
  52.                 throw e;
  53.             }
  54.             return dt;
  55.         }
  56.  
  57.  public DataTable listarFacturasAdmin(OracleConnection conexionOracle, string tbcampoConsulta)
  58.         {
  59.            return new AdminSaldoAD(conexionOracle).listarFacturasAdmin(tbcampoConsulta);
  60.         }
  61.  
  62.  
  63.  
  64.  
  65.  
Título: Re: Llenar columnas de Datagridview con datos
Publicado por: gerloxxx en Miércoles 30 de Junio de 2010, 18:24
Hola, cuando defines las columnas hay una propiedad en "Data" se llama "DataPropertyName" ahi va el nombre del campo que deseas mostrar en esa columna. Tambien existe una propiedad del datagridview: la pones a false, aunque creo que esta no es muy necesaria

dataGridView1.AutoGenerateColumns = false;

espero te sirva, saludos
Título: Re: Llenar columnas de Datagridview con datos
Publicado por: lugarda en Miércoles 30 de Junio de 2010, 20:16
Super muchas gracias por tu ayuda... me sirvió la solución que me diste, gracias de nuevo.