在selectOptions for select下拉列表中,我们在grid_data实例化后传递一些静态值。在我们选择编辑之前,一切正常。由于数据保持不变和静态。
所有下拉列表保持不变。但这不应该发生,它必须将适当的数据加载到应该是动态的行。
var data = {
"id" : "cityGrid",
"grid_data" : response,
"colNames" : ['City Name','Select State','local'],
"colModel": [
{"name":'cityName',"index":'cityName', "width":150,"editable": true,"editoptions":{"size":"20","maxlength":"30"}},
{"name":'selectState',"index":'selectState',"width":90,"editable": true,"edittype":"select","editoptions":{"value":"TN:Tamilnadu;AP:Andhrapradesh;MP:MAdhyapradesh",
"class":"chosen-select","width":200,"custom":true,"custom_func":util.applyChosen}},
{"name":'local',"index":'local', "width":70, "editable": true,"edittype":"checkbox","editoptions": {"value":"Yes:No"},"unformat": "aceSwitch"}
],
"editurl": "/dummy.html",
"caption": "City Information"
};
" editoptions" {"值":" TN:塔米尔纳杜; AP:安得拉邦; MP:中央邦"
在搜索结果很少之后,我也遇到了dataUrl。但它没有达到标准,因为我需要发送一个不可能在那里的param。
甚至考虑获取一个特定行数据的值并使其在顶部选择并使用静态加载其余部分,因为我使用在keypress上触发的所选数据形式,我的问题将得到解决。这里的问题是编辑有两种类型,一种是单行和多行。
这是我被击中的阶段。有人解决了这个问题。任何新版本的jQgrid都有这个问题的答案吗?
提前致谢
答案 0 :(得分:1)
首先,您可以动态生成dataUrl
。最简单的方法是将dataUrl
定义为回调函数:dataUrl: function (rowid, value, name) { ... }
。
另一方面,您似乎需要使用<option>
生成select,其中value
不与显示的文本相同:<option value="TN">Tamilnadu</option>
。如果值TN
将在编辑后保存在列中,那么您应该使用TN
,AP
,{{1}等数据保留(填充)相应列而不是MP
,Tamilnadu
,Andhrapradesh
。您应该使用MAdhyapradesh
(请参阅此处)来显示输入值formatter: "select"
,TN
,AP
,例如MP
,Tamilnadu
,{{1} }。格式化程序Andhrapradesh
使用MAdhyapradesh
或(它未定义)formatter: "select"
值。因此,必须能够在创建网格内容之前设置formatoptions.value
(或editoptions.value
或两者),因此之前服务器响应将由jqGrid处理。
为了能够动态设置editoptions.value
,可以使用formatoptions.value
方法。如果从服务器加载数据,则可以在服务器响应中包含具有异常editoptions.value
属性的所有列属性。例如,可以在setColProp
回调中执行此操作。 The answer this one和this one描述了详细的方法。 The answer显示了如何使用公共列name
属性(“c1”,“c2”,“c2”)并使用beforeProcessing
来读取相对常见的命名数据。如果需要,可以设置name
而不是jsonmap
属性。