我们的应用程序有自己的翻译工具,由于jqGrid翻译不完整,我们在翻页设置上将翻译注入jqGrid。
我们正在使用jqGrid 4.4.4 - 目前无法更新。
这几乎适用于所有翻译(请参阅下面示例中的alerttext等)。
但是对于搜索过滤器运算符(请参阅下面的odata数组),这根本不起作用。 odata字符串(“等于”,“不等于”,......)不会被翻译的字符串替换。 如上所述,使用标准的jqGrid语言文件不是我们的选择。
有人知道如何动态为搜索运算符注入翻译吗?
jQuery("#displayresponses").jqGrid( 'navGrid', '#pager',
{
add: false,
edit: false,
del: true,
alertcap: sWarningMsg,
alerttext: sSelectRowMsg,
searchtitle : sSearchTitle,
refreshtitle : sRefreshTitle,
deltitle : sDelTitle,
search: true,
refresh: true,
view: false,
position: "left"
},
{}, // edit options
{}, // add options
{
msg : strDeleteAllConfirm,
bSubmit : sDelCaption,
caption : sDelCaption,
bCancel : sCancel,
width : 700
},
{ // Search options
caption : sSearchCaption,
Find : sFind,
multipleSearch: true,
odata : [ sOperator1, sOperator2, sOperator3,
sOperator4, sOperator5, sOperator6,
sOperator7, sOperator8, sOperator9,
sOperator10, sOperator11, sOperator12,
sOperator13, sOperator14 ],
Reset : sReset,
width: 700
}
);
答案 0 :(得分:1)
您在问题中使用了错误的标记free-jqgrid标记,这会导致误解。如果版本4.8.0,... 4.13.2中存在使用free-jqgrid,则应使用free jqGrid标记。
复古版4.4.4使用$.jgrid.search.odata
作为jqFilter
的参数,而不是稍后介绍的odata
选项。因此,您必须动态更改$.jgrid.search.odata
“。
旧版本4.4.4已经死,我强烈建议您升级到当前免费的jqGrid 4.13.2。您可以直接在CDN中使用它,就像在wiki atricle中描述的那样,并且还包含在所有最后发布的免费jqGrid版本的README中。如果你更愿意使用NuGet包,那么你可以卸载旧的jQuery.jqGrid包,然后安装free-jqGrid。