Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: |Miguel| en 26 Abril 2012, 16:30 pm



Título: No consigo pasar un DataTable a un DataGridView
Publicado por: |Miguel| en 26 Abril 2012, 16:30 pm
Bueno... pues eso..

Tengo unos datos en un data table y quiero visualizarlos en un DataGridView. Lo que veo por todos lados es esto:
Código
  1. grdTiendas.DataSource = datos.DefaultView
Pero lo que hace es si tengo 5 filas en el datatable, me pinta 5 filas pero vacías (aunque con el debugger veo que hay datos en el datatable...)

No sé por dónde tirar...
Saludos.
gracias


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: HdM en 26 Abril 2012, 20:27 pm
Buenas.

¿Podrías poner el código de cómo cargas datos en la tabla? Lo que es curioso es que si tienes 5 registros, al asignar el datasource, te cargue 5 filas. No creo no, pero no tendrás en el grid el mismo forecolor y backcolor, ¿verdad? :rolleyes: :rolleyes:

Saludos.


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: |Miguel| en 26 Abril 2012, 21:05 pm
forecolor y backcolor, ¿verdad? :rolleyes: :rolleyes:
Soy novato, no gilipollas.. jajaja XD Se agradece la ayuda, de hecho fue lo primero que pensé pero no tendría sentido (en ningún momento cambio ningún color), y además si meto un bucle for que recorra el datatable y el grid celda a celda sí funciona... pero queda un código larguísimo y cuando lo vea el jefe me va a mandar a mi casa xD

El código que uso no lo tengo aquí, está en la oficina, pero era algo como
Código
  1. dReader.ExecuteCommand
  2. datos.Load(dReader)
  3. 'Ahora hablo de memoria, podría estar poniendo una burrada! XD
Donde dReader era un elemento Data.Reader

el dataset datos tiene todos los datos bien cargados, de eso estoy seguro por que usando la forma cutre va bien, y porque con el debugger me salen tb los datos que tienen que salir...

Saludos.


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: HdM en 26 Abril 2012, 21:28 pm
Soy novato, no gilipollas.. jajaja XD.

Jejeje, doy rotundamente por hecho que no lo eres en absoluto, pero es que a veces hay detalles absurdos que se pasan por alto, te pones a darle vueltas al problema desesperándote y luego resulta que es cualquier tontería (a mi me suele pasarrrrr  ;D ;D)

¿Has probado utilizando un dataadapter?

Código
  1. dt = New DataTable
  2. da = New DataAdapter("SELECT * FROM tutabla", conexionatubd)
  3. da.Fill(data)
  4. dataGrid.DataSource = data
  5.  

Saludos.


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: |Miguel| en 26 Abril 2012, 21:31 pm
¿Has probado utilizando un dataadapter?
Ni sé lo que son, pero me lo apunto y mañana te cuento.
Gracias por contestar tan rápido!


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: seba123neo en 26 Abril 2012, 23:20 pm
otra opcion es recorrer el datatable y cargar el datagrid a mano.

saludos.


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: |Miguel| en 26 Abril 2012, 23:26 pm
otra opcion es recorrer el datatable y cargar el datagrid a mano.

saludos.
Exacto, eso es lo que hago ahora, pero me parece una opción cutre y cuando la vea el jefe me va a mandar a tomar por el c***, y con razón XD


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: seba123neo en 26 Abril 2012, 23:36 pm
Exacto, eso es lo que hago ahora, pero me parece una opción cutre y cuando la vea el jefe me va a mandar a tomar por el c***, y con razón XD

yo no lo veo para nada cutre, depende como se vea, ya que si necesitas manipular valores mientras vas cargando los datos es necesario hacerlo asi, por ejemplo hacer calculos entre los valores de varios campos del datatable y asi asignarlo a una columna del datagrid, o si necesitas llenar algun array externo con valores de algun camp del datatable y al mismo tiempo hacer calculos debes hacerlo de esa forma ya que de la otra forma no se podrian manipular ningun dato ya que se asignan directamente al datagrid.

saludos.


Título: Re: No consigo pasar un DataTable a un DataGridView
Publicado por: |Miguel| en 27 Abril 2012, 12:23 pm
Ni sé lo que son, pero me lo apunto y mañana te cuento.
Gracias por contestar tan rápido!
Al final he cambiado a dataAdapter por otro tema y me funciona todo perfecto.
Gracias.

seba123neo, en esa posibilidad no había pensado. En el caso que comentas, si tendría sentido utilizar el bucle que había usado. En mi caso actual no, porque los datos solo se modifcan desde el DataGrid, aunque se podría dejar el bucle por si acaso hubiera alguna ampliación futura.

Saludos!