我正在使用一组类来根据项目GitHub创建jqgrid ..
现在我有以下代码片段,它添加了JQgrid的editoptions:{}
public Column SetEditOptions(string editoptions)
{
_editoptions = editoptions;
return this;
}
script.Append("{").AppendLine();
....
....
if (!String.IsNullOrWhiteSpace(_editoptions))
script.AppendFormat("editoptions:{{{0}}}",_editoptions).AppendLine();
.....
.....
script.Append("}");
从View中查看使用htmlhelper扩展类看起来
@(Html.Grid("basic").SetCaption("User Grid").AddColumn(newColumn("Comment")
.SetEditRule("required:true").SetEditType("Select").SetEditOptions("//here script comes")))
我想要的只是填写jqgrid的编辑模式中的下拉框,它将通过ajax从控制器获取..我不会得到'我应该如何在.SetEditOptions Method
内传递我的脚本我试图从我的控制器返回json字符串并将其传递给此方法,但它似乎根本不起作用,尽管我的控制器被击中了。
我跟着这个Post,但我没有这样做......
还有一件事jqgrid的editrules:{}
正在处理所有错误但是当我把required:true
然后没有验证工作时,我用jqgrid文档脚本交叉检查我的脚本,它们是相同的,下面是什么我得到
colModel: [
{
name:'Price',
hidden:true,
index:'Price',
editable:true,
editrules:{required:true,number:true},
}......
更新:我有2个函数,其中一个是静态数据,其他动态数据来自服务器,所以当我调用静态数据函数时,编辑模式中的下拉列表会被填充,但是当我尝试调用动态数据函数下拉列表并不填写我的Controller / Action被击中,
function getOffices() {
$.getJSON("/Account/Offices", null, function (data) {
if (data != null) {
//alert(data);
return data;
}
return "";
});
}
function getsample() {
var data = "FE:FedEx;IN:InTime;TN:TNT";
return data;
}
我设置了jqgrid的editOption
,如下所示
.AddColumn(new Column("Primary").SetEditable(true).SetEditType("select").
SetWidth(30).SetEditOptions("value:getOffices()")) // here
//when i call 'getsample' the data gets filled in dropdown but 'getOffices' doesn't working...