所需的任何实现都将意味着为缓存某种数据
"/Person/GetSelectData"。我更喜欢自己的一种方法是
value代替
dataUrl。选择值列表可以包含
在对服务器的主响应中,该响应将 填充网格。如果使用的动作
url可以返回 其他数据
。您可以将返回的数据内部使用
value定义为一个函数,也可以将其
value内部设置为
beforeProcessing。为了使我的建议更清楚,我在一个示例中进行解释。
第一种方式:用法
value即功能。可以将您通常返回的数据包含在
"/Person/GetSelectData"主要JSON响应中。例如,您可以使用
userdata(或输入数据的任何其他扩展名):
{ "rows": [ ... ], "userdata": { "Persons": "Bill:Bill;Oleg:Oleg;Leora:Leora" }}然后可以使用
beforeProcessing: function (data) { var $self = $(this), userData = data.userdata, persons, selectOptions; if (userData && userData.Persons) { persons = userData.Persons; selectOptions = { searchoptions: { value: ":All;" + persons }, // for toolbar search stype: "select", editoptions: { value: persons }, edittype: "select" }; $self.jqGrid("setColProp", "Manager", selectOptions); $self.jqGrid("setColProp", "Delegate", selectOptions); }}顺便说一句,甚至可以使用
formatter: "select"“经理”和“代表”列。它允许使用id代替名称。例如
"Persons": "3:Bill;1:Oleg;2:Leora"
每个人都应该加入
formatter: "select"到
selectOptions了。它允许使用IDS
3,
1以及
2主数据的内部(
rowsJSON数据的一部分)。使用的标准方式
dataUrl不允许使用
formatter:"select"。



