jqgrid格式化程序不工作且无响应
我有一个js文件和名为viewLineBtn的函数名 在我的服务器代码中,我创建了一个对象列表jqgrid格式化程序不工作且无响应,jqgrid,Jqgrid,我有一个js文件和名为viewLineBtn的函数名 在我的服务器代码中,我创建了一个对象列表 List<GridModelClass> addmodelResult = new List<GridModelClass>(); addmodelResult.Add(new GridModelClass { name = "AddTestApprove", label = "Approve", width = "40", hidden = false, f
List<GridModelClass> addmodelResult = new List<GridModelClass>();
addmodelResult.Add(new GridModelClass { name = "AddTestApprove", label = "Approve", width = "40", hidden = false, formatter = "viewLineBtn" });
List addmodelResult=new List();
addmodelResult.Add(新的GridModelClass{name=“AddTestApprove”,label=“Approve”,width=“40”,hidden=false,formatter=“viewLineBtn”});
但是,无法识别viewLineBtn。如何解决它?您似乎将
colModel
作为JSON数据从服务器返回。因此,您有了格式化程序属性,该属性的类型为字符串(如格式化程序:“viewLineBtn”
),而不是函数(如格式化程序:viewLineBtn
,其中viewLineBtn
以前定义为函数)
要解决此问题,可以更改定义格式化程序函数的方式。而不是用法
函数viewLineBtn(单元格值、选项、行对象){
//在这里做点什么
返回htmlFragmentOfCell;
}
你应该使用
$.extend($.fn.fmatter{
viewLineBtn:函数(单元格值、选项、行对象){
//在这里做点什么
返回htmlFragmentUsedInCell;
}
});
在这种情况下,您可以在colModel
中使用格式化程序:“viewLineBtn”
如果您定义了,我建议您始终定义(unformat
property)。若要在使用格式化程序的字符串值时执行此操作,您应按以下方式定义UnformMatter:
$.extend($.fn.fmatter{
viewLineBtn:函数(单元格值、选项、行对象){
//在这里做点什么
返回htmlFragmentUsedInCell;
}
});
$.extend($.fn.fmatter.viewLineBtn{
未格式化:函数(单元格值、选项、元素){
//在这里做点什么
从DomeLem返回HtmlFragments;
}
});
jQGrid的格式化程序是您声明的Javascript函数,在前端填充网格中的数据时调用它们。jQGrid格式化程序函数的参数也非常具体。参考资料。据我所知,自定义格式化程序与服务器代码无关。我在列表中添加了formatter=“viewLineBtn”,并且在我的javascript中有一个函数viewLineBtn。发布您的javascript供我们查看。