jqGrid的动态选择字段
-
26-09-2019 - |
题
有修改的动态一个colModel状态字段的值的方法吗? 比方说,我们有一个领域一个山坳型号,如:
... field ... name: "state",type: "select",
editoptions: {value: "0:state0;1:state1;2:state2;3:state3;4:state4"}
所以我得到一个选择栏为我的这个值的状态。但我需要dynamicaly决定哪些selectfields应该是可能的。 如果当前行的状态是state0,应该只显示state0和状态1。 如果状态是状态1,显示效果应该state0,状态1和状态2 依此类推,直到状态4只应显示stae3和state4。
我能够有格式来解决这个问题,或有任何其他的方式做这样的事情。
要变得更加困难,可以说,这显示在各国一般都在谁登录了,在我的应用程序的用户的依赖性。 在某种程度上,用户只能看到state0,状态2和state4。 这可以变得更加复杂,原因状态3和state4之间的transistion不允许当前用户。
然而,指出自理是dynamicaly任一。难道是有帮助的动态生成我的应用程序对象的JavaScript,它代表了一般的国家级和使用这个对象来生成我在格式化所需的输出? 所以我可以在这个对象中封装的逻辑,我的输出是如何产生和additionaly我只得到了国家的用户能够看到。
如果让我一举两得。
重读我希望它清楚我想要做的,如果不告诉我,我会用更多的细节解释。
在一个解的具体问题,THX奥列格:
editoptions : {
value : function(){
//a function can be called here:
currentRow=$("#order_items").getGridParam('selrow');
currentState=$("#order_items").getCell(currentRow,"state");
nastyGeneratedThings=function(){
... do some nasty things with currentState
... and generate what you want
}
return nastyGeneratedThings
}
我跑进一些麻烦,导致该函数仅调用一次。所以,我必须设置Navgrid的recreateForm选项。
navGrid("#pager", {
edit : true,
add : true,
del : true
}, {
height : 500,
width : 500,
// recreate the form every time when edit button is clicked.
// Default is false.
recreateForm : true
}
});
这是经过我的功能,每次触发我点击编辑。 希望这可以帮助别人莫名其妙。
解决方案
从value
的editoptions
属性不仅可以是一个字符串,但也有功能。该函数可以返回像字符串 “0:state0; 1:状态1; 2:STATE2; 3:STATE3; 4:state4” 或类似{"0":"state0", "1":"state1", "2":"state2", "3":"state3", "4":"state4"}
一个对象。顺便说一下最后的格式有一些优势:例如,你可以使用“:”,“;”值的内侧。
在函数没有参数,但可以与像getGridParam('selrow')
方法的COLL和与getCell(rowid,iCol)
获得当前选择的行或getCell(rowid,"state")
的“状态”列中的当前值。
请参阅多在value
属性的描述上 HTTP :?//www.trirand.com/jqgridwiki/doku.php ID =维基:common_rules#editoptions )。也许这可以解决问题了吗?