2014-01-15 2 views
0

DataSource가있는 차트를 컨트롤러에 바인딩하려고 시도했지만 뷰에 나타나지 않습니다. 여기 DataSource에 검도 UI 차트 바인딩 MVC3 Razor

당신이 당신의 행동 LeerExt_GraficoServicio에 JSON은 Data 필드로 이동 결과의 데이터를 .ToDataSourceResult(request) 방법을 사용하여 차트를 찾을 수없는 경우 여기
public List<HorasTrabajadasTecnicosViewModel> GetServiciosByFecha(string txtFechaInicio, string txtFechaFin) 
    { 
     DateTime FECHA_INICIO; 
     DateTime FECHA_FIN = DateTime.Now; ; 

     if (String.IsNullOrEmpty(txtFechaInicio)) FECHA_INICIO = _FechaSistema.GetFechaSistema(); 
     else FECHA_INICIO = Convert.ToDateTime(txtFechaInicio); 
     if (String.IsNullOrEmpty(txtFechaFin)) FECHA_FIN = _FechaSistema.GetFechaSistema(); 
     else FECHA_FIN = Convert.ToDateTime(txtFechaFin).AddDays(1); 

     var Servicios = from ser in linq.ViewHorasTrabajadasTecnicosConProyecto 
         where ser.FECHA_INICIO >= FECHA_INICIO 
         && ser.FECHA_FIN <= FECHA_FIN 
         select new HorasTrabajadasTecnicosViewModel 
         { 
          EMPRESA = ser.EMPRESA, 
          TIPO_SERVICIO = ser.TIPO_SERVICIO, 
          TOTAL_HORAS = ser.TOTAL_HORAS.Value 
         }; 

     return Servicios.OrderBy(m => m.EMPRESA).ToList(); 
    } 

    public ActionResult GraficoServicio(string txtFechaInicio, string txtFechaFin) 
    { 
     if (!Convert.ToBoolean(Session["superusuario"])) 
     { 
      if (!_sesion.VerifarSesion(Convert.ToInt16(Session["id_usuario"]))) { Session["aux"] = 0; Session["Usuario"] = null; Session["id_usuario"] = null; Session["superusuario"] = false; Session["id_empresaUsuario"] = null; Session["Rol"] = null; return View("SesionExpiradaConsultas"); } 

      if (!_sesion.VerificarAccionAcceso(Convert.ToInt16(Session["id_usuario"]), "Consultas", "VER", "ControlInterno")) 
       return View("AccesoDenegadoConsultas"); 
     } 

     if (string.IsNullOrEmpty(txtFechaInicio)) txtFechaInicio = ""; 
     if (string.IsNullOrEmpty(txtFechaFin)) txtFechaFin = ""; 

     return View(); 
    } 

    public ActionResult LeerExt_GraficoServicio([DataSourceRequest] DataSourceRequest request, string txtFechaInicio, string txtFechaFin) 
    { 
     return Json(GetServiciosByFecha(txtFechaInicio, txtFechaFin).ToDataSourceResult(request)); 
    }` 

내보기

@(Html.Kendo().Chart(Model) 
.Name("Chart") 
.Title("REPORTE DE SERVICIOS POR EMPRESA") 
.DataSource(datasource => datasource 
    .Read(read => read.Action("LeerExt_GraficoServicio", "Consultas").Data("getParameter")) 
    ) 
    .Series(series => { 
     series.Column(model => model.TIPO_SERVICIO) 
      .Name("TipoServicio"); 
    }) 
    .Legend(legend => legend 
     .Position(ChartLegendPosition.Bottom) 
    ) 
    .ValueAxis(axis => axis.Numeric() 
     .Labels(labels => labels 
      .Format("{0}") 
      .Skip(2) 
      .Step(2) 
     ) 
    ) 
    .CategoryAxis(axis => axis 
     .Categories(model => model.EMPRESA) 
    ) 
    .Tooltip(tooltip => tooltip 
     .Visible(true) 
     .Format("{0}") 
     .Template("#= series.name #: #= value #") 
    ) 
    ) 

답변

0

내 컨트롤러입니다 필수 입력 사항. 이 같은 제거하려고 :

public ActionResult LeerExt_GraficoServicio(string txtFechaInicio, string txtFechaFin) 
{ 
    return Json(GetServiciosByFecha(txtFechaInicio, txtFechaFin)); 
} 
원격 데이터 차트의

검도 예는 여기에 있습니다 : http://demos.kendoui.com/dataviz/line-charts/remote-data.html

+0

감사합니다! 그게 너무 도움이되는 – Alex