hacer un count de un registro en especifico en un dataTable

21/10/2008 - 16:45 por melozipp | Informe spam
quisera obtener por ejemplo en un datatable llamada autos, obtener de
la colunna autos, todos los que sean rojos.
ya que hay de difentes colores en esa colunna y ademas mostrarlos en
un datagridview.



y ademas tambien quiera saber como pudiera hacerlo sin saber el color,
osea que me agrupe por colores y m lo muestre en un datagridview, cada
color con el numero de registros que estan en la tabla.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
21/10/2008 - 21:13 | Informe spam
wrote in message
news:
quisera obtener por ejemplo en un datatable llamada autos, obtener de
la colunna autos, todos los que sean rojos.
ya que hay de difentes colores en esa colunna y ademas mostrarlos en
un datagridview.



Para mostrarlos en un datagridview lo mejor es interponer un DataView:

DataView dv = elDataTable.DefaultView;
dv.Rowfilter = "color='rojo'";
dataGridView1.DataSource = dv;

Para contar los registros sin pasar por el DataView, puedes hacer un
Select:

int nRegistros = elDataTable.Select("color='rojo'").Length;


y ademas tambien quiera saber como pudiera hacerlo sin saber el color,
osea que me agrupe por colores y m lo muestre en un datagridview, cada
color con el numero de registros que estan en la tabla.



Eso ya no lo hace el datatable en memoria. Si los datos vienen de una
base de datos, lo más sencillo sería enviar al servidor un Select con una
cláusula Group By, y dejar que el servidor te devuelva los datos ya
agrupados y contados. Si esta opción no es viable, entonces para agruparlos
en memoria hay que usar un bucle escrito en tu propio código, y escribir
todas las sentencias que realicen el conteo; no hay un automatismo que te lo
dé hecho en ado.net (aunque sería trivial hacerlo con LINQ si estuvieras
trabajando con el Framework 3.5).
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida