jqGrid-将比率字段格式化为百分比值
我的服务器代码以比率值的形式传输某些列,即0.0到1.0。我需要格式化并将其编辑为百分比。我希望在JavaScript端完成,而不修改服务器端。因此,如果我添加一个自定义格式化程序,将该值乘以100,那么display将按预期工作。此外,当我点击编辑按钮时,内联编辑框也会以百分比的形式显示值。当我保存时,问题就开始了-该值再次使用formatter进行转换,得到10000之类的值。好的,我需要对称性,所以我创造了一个不可原谅的物质,它只需要将值除以100。但这也不起作用-现在编辑控件将其显示为一个比率,这不是我想要的(尽管现在保存可以正常工作) 有没有办法不更改服务器代码?您可以跳过不可更改的内容而选择自定义编辑类型,只需在您的jqGrid-将比率字段格式化为百分比值,jqgrid,percentage,formatter,Jqgrid,Percentage,Formatter,我的服务器代码以比率值的形式传输某些列,即0.0到1.0。我需要格式化并将其编辑为百分比。我希望在JavaScript端完成,而不修改服务器端。因此,如果我添加一个自定义格式化程序,将该值乘以100,那么display将按预期工作。此外,当我点击编辑按钮时,内联编辑框也会以百分比的形式显示值。当我保存时,问题就开始了-该值再次使用formatter进行转换,得到10000之类的值。好的,我需要对称性,所以我创造了一个不可原谅的物质,它只需要将值除以100。但这也不起作用-现在编辑控件将其显示为一
colModel
中使用它即可:
{ ..., edittype: 'custom', editoptions: { custom_element: function(value, options) { return $('<input type="text" value="' + value + '"/>'); }, custom_value: function(element){ return parseFloat(element.val())/100; } }}
{…,edittype:'custom',editoptions:{custom_元素:函数(值,选项){return$('');},custom_值:函数(元素){return parseFloat(element.val())/100;}}
要完全支持自定义类型的数据(如0.0到1.0)显示为包含百分比值的编辑和搜索,您必须实现:
formatter
以自定义方式在网格中显示数据unformat
以允许从数据的“可视化表示”访问数据。jqGrid将在某些情况下使用该方法(例如在表单编辑的初始化阶段)sorttype
,它可以是一些兼容的数据类型,如'number'
或自定义排序函数edittype:'custom'
并实现editoptions
的custom\u元素和custom\u值(请参阅)
键入:“自定义”
并实现编辑选项的自定义元素
和自定义值
是对来自和的演示的修改。演示并不是针对你的直接问题。它展示了为什么以及如何在jqGrid中完全实现自定义控件。表单编辑的功能在演示中没有完全发挥作用,只是因为没有实现服务器部件。如果需要,可以使用显示如何在jqGrid中实现本地表单编辑的方法。我不想让代码变得更复杂,因为需要显示演示的主要目的。感谢您提供如此详细的答案。