使用AJAX在剑道网格中分组时出现Javascript错误
Javascript error when grouping in Kendo Grid with AJAX
在ASP.NET MVC视图中,我有一个用AJAX填充的Kendo网格,当我尝试按属性FacturasCabecera.NFactura进行分组时,我得到了Javascript错误d.ArtFacturasCabecera is undefined
,因此Kendo网格挂起。网格中模型的元素之一是FacturasCabcera,它是另一个包含我要分组的属性的模型对象。Razor视图中的网格代码是:
@(Html.Kendo().Grid<Macromed.Models.ArtFacturasDetalleModels>()
.Name("GridAuditoria")
.Columns(
columns =>
{
columns.Bound(e => e.ArtFacturasCabecera.Nfactura).Title("Nro. Factura").Groupable(true);
columns.Bound(e => e.ArtFacturasCabecera.FchFactura).Title("Fecha Factura").ClientTemplate("#= kendo.toString(kendo.parseDate(ArtFacturasCabecera.FchFactura), 'dd MMM yyyy') #").Groupable(false);
columns.Bound(e => e.NItem).Title("Nro. Item").Groupable(false);
columns.Bound(e => e.Codigo).Title("Código").Groupable(false);
columns.Bound(e => e.ArtFacturasCabecera.FchPago).Title("Fecha pago").ClientTemplate("#= kendo.toString(kendo.parseDate(ArtFacturasCabecera.FchPago), 'dd MMM yyyy') #").Groupable(false);
columns.Bound(e => e.ArtFacturasCabecera.FchVencimiento).Title("Fecha vencimiento").ClientTemplate("#= kendo.toString(kendo.parseDate(ArtFacturasCabecera.FchVencimiento), 'dd MMM yyyy') #").Groupable(false);
columns.Bound(e => e.MontoFacturado).Title("Monto Facturado").ClientTemplate("#= kendo.toString(MontoFacturado,'c')#").Groupable(false);
columns.Bound(e => e.AuditoriaDetalle.MontoTeorico).Title("Monto Teorico").ClientTemplate("#= kendo.toString(AuditoriaDetalle.MontoTeorico,'c')#").Groupable(false);
columns.Bound(e => e.IdTraslado).Title("").ClientTemplate(@Html.ActionLink("Ajustar traslado", "AjustarTraslado",
new { id = "#=IdTraslado#", idFactura = "#=IdFactura#", NItem = "#=NItem#", fechadesde = ViewBag.fechadesde, fechahasta = ViewBag.fechahasta }).ToHtmlString());
})
.Groupable(group => group.Enabled(true).Messages(mm => mm.Empty("Arrastre un Encabezado de Columna y Colóquela aquí para Agrupar")))
.DataSource(
datasource => datasource.Ajax()
.PageSize(10)
.Read(read => read.Action("GetFacturaAjustar", "AuditoriaTraslados", new { id = ViewBag.id, fechadesde = ViewBag.fechadesde, fechahasta = ViewBag.fechahasta }))
.Model(model =>
{
model.Id(p => p.IdFactura);
model.Field(p => p.ArtFacturasCabecera.FchFactura);
}))
)
这是从数据库中获取数据的代码,如下所示:
IQueryable<ArtFacturasDetalleModels> objfactura = from facturadet in db.ArtFacturasDetalle
from facturacab in db.ArtFacturasCabecera
from auditoriadet in db.AuditoriaDetalle
from itemauditoria in db.AuditoriaDetalleItems
where facturacab.IdFactura == facturadet.IdFactura
&& facturacab.IdFactura == auditoriadet.IdFactura &&
facturacab.IdFactura == itemauditoria.IdFactura &&
auditoriadet.IdAuditoria == itemauditoria.IdAuditoria &&
facturadet.NItem == itemauditoria.NItem
&& facturacab.IdPrestador == id &&
auditoriadet.Auditado == "S" && auditoriadet.Ajustar == "S" &&
itemauditoria.ItemAuditado == true && itemauditoria.AjustarItem == true
select new ArtFacturasDetalleModels
{
IdFactura = facturadet.IdFactura,
NItem = facturadet.NItem,
Codigo = facturadet.Codigo,
MontoFacturado = facturadet.MontoFacturado,
IdTraslado = facturadet.IdTraslado,
ArtFacturasCabecera = new ArtFacturasCabeceraModels
{
IdPrestador = facturacab.IdPrestador,
FchFactura = (DateTime)facturacab.FchFactura,
FchPago = facturacab.FchPago,
FchVencimiento = facturacab.FchVencimiento,
Nfactura = facturacab.Nfactura
},
AuditoriaDetalle = new AuditoriaDetalleModels
{
IdAuditoria = auditoriadet.IdAuditoria,
IdFactura = facturadet.IdFactura,
MontoTeorico = auditoriadet.MontoTeorico
}
};
DataSourceResult result1 = objfactura.ToDataSourceResult(request1);
return Json(result1);
我怀疑剑道网格无法正确处理这种模型。。。
在不嵌套的情况下创建新模型解决了这个问题。我猜剑道网格不适用于嵌套模型。
相关文章:
- object响应时出现对象错误javascript
- 未捕获的语法错误:javascript对象上出现意外的标记ILLEGAL
- Phonegap-Android 4.4-html5音频长度错误(javascript和媒体插件)
- 未捕获的语法错误:javascript中出现意外的标记}
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- 未捕获类型错误javascript方法
- 将字符串返回到类型为“0”的输出字段;数字“;针对用户错误javascript
- 解析器错误(Javascript初学者寻找解决方案)
- IE 错误 .JavaScript 运行时错误:对象不支持属性或方法“preventDefault”
- appendChild 不是函数错误 (JAVASCRIPT)
- 错误 JavaScript 函数
- 而循环抛出错误JavaScript
- 意外的类型错误 - Javascript,多维数组
- 语法错误:Javascript 中的意外令牌/将数据发布到 Amazon s3
- 语法错误:Javascript 中缺少指数
- 错误“JavaScript 运行时错误:查找滚动位置时无法获取未定义或空引用的属性'scrollLeft'”
- 错误 JavaScript 循环数组
- 错误:Javascript 上的 [对象对象]
- IndexedDBShim.js错误:JavaScript运行时错误:在严格模式下不允许分配只读属性
- 在Evernote listNotebooks API上获取错误-Javascript/Node.Js