Principales respuestas
Query Linq en chart

Pregunta
-
Hola saludos a todas/os necesito ayuda para mostrar el count de una query en linq y mostrarlo en un char tengo este codigo de ejemplo
var consulta = (from resultado in context.Padrons
where resultado.Mesa == 1
select resultado).Count();
Chart1.DataSource = consulta;
Chart1.DataBind();pero me sale error
El origen de datos no es un tipo válido. Deber ser IListSource, IEnumerable o IDataSource
desde ya gracias
lunes, 6 de abril de 2015 0:04
Respuestas
-
hola
pero entiendes que un Count() no se puede graficar ya que solo es un dato simple
quizas debas asignar el grafico un linq como ser
var consulta = (from resultado in context.Padrons group resultado by resultado.Mesa in g select new { mesa = g.Key, cantidad = g.Count() }).ToList();
en este caso cuentas pero agrupando por mesa
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta EnzoTuc40 martes, 7 de abril de 2015 12:35
lunes, 6 de abril de 2015 23:01
Todas las respuestas
-
hola
>>El origen de datos no es un tipo válido. Deber ser IListSource, IEnumerable o IDataSource
no puedes representar un simple count en un chart, tienes que asignar una lista de valores
me pregunto sabes como funciona el control chart ? imagino conoces este representa un conjunto de datos
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentinalunes, 6 de abril de 2015 0:54 -
No entiendo para que quieres graficar un único punto (porque el count solo te devolverá un valor entero), de todas maneras te adiciono un ejemplo en el que puedes ir adicionando punto a punto una gráfica, espero te sirva.
SeriesChartType a = SeriesChartType.FastLine; chrEstadisticasLiquidos.Series.Add("Saldos Iniciales"); chrEstadisticasLiquidos.Series["Saldos Iniciales"].ChartType = a; chrEstadisticasLiquidos.Series["Saldos Iniciales"].IsValueShownAsLabel = false; chrEstadisticasLiquidos.Series["Saldos Iniciales"]["ShowMarkerLines"] = "True"; CSaldos objSaldo = new CSaldos(); foreach (SPLIQ_OBTENER_SALDOS_INICIALES_MES_Resultado ent in objSaldo.obtenerSaldosInicialesMes(Session[CVariablesSesion.idEESS].ToString(), combustible, int.Parse(ddlAño.SelectedItem.Value), int.Parse(ddlMes.SelectedItem.Value))) { chrEstadisticasLiquidos.Series["Saldos Iniciales"].Points.AddY(ent.LITROS_SALDO); cSI++; saldoI[cSI] = ent.LITROS_SALDO; sSI += ent.LITROS_SALDO; }
chrEstadisticasLiquidos es el chart, obtenerSaldosInicialesMes retorna un List de dato complejo de una consulta a BD, bueno lo del foreachlo puedes acomodar a tus necesidades (para probar lo puedes hacer un con un for del 1 al 10), bueno la clave es:
chrEstadisticasLiquidos.Series["Saldos Iniciales"].Points.AddY(ent.LITROS_SALDO);
Roy Sillerico
- Propuesto como respuesta Karen MalagónModerator lunes, 6 de abril de 2015 17:34
lunes, 6 de abril de 2015 13:13 -
Hola no no quiero graficar un unico punto tengo una tabla que es el padron electoral de tucuman luego tengo una tabla similar que llamo padron propio los mismos campos que la del padron general en esta tabla voy grabando electores de acuerdo a planillas a estos registros los filtro por departamentos, localidades, circuitos, esculeas y mesas la idea es mostrar en un webform los dropdownlist del filtro y consultar en las 2 tablas para mostrar como va la carga de electores por ejemplo de la tabla general la mesa 1 tiene 354 y en el padronpropio tiene cargado 35 registros la idea es ir mostrando la cantidad de datos ingresados a estas consultas ya las hice y las muestros en 2 gridview distintos ahora a modo mas practico quisiera mostrar esto en un chart graciaslunes, 6 de abril de 2015 22:39
-
hola
pero entiendes que un Count() no se puede graficar ya que solo es un dato simple
quizas debas asignar el grafico un linq como ser
var consulta = (from resultado in context.Padrons group resultado by resultado.Mesa in g select new { mesa = g.Key, cantidad = g.Count() }).ToList();
en este caso cuentas pero agrupando por mesa
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta EnzoTuc40 martes, 7 de abril de 2015 12:35
lunes, 6 de abril de 2015 23:01 -
Gracias leandro funciono ahora me toca adaptar las distintas consultasmartes, 7 de abril de 2015 12:35