现在我有一个包含3列的jqgrid作为下拉列表,其他一些列作为普通文本。
我受到了这个jqGrid toolbar search with autocomplete using json data的启发,想要尝试做而不是我的下拉列表一个自动完成文本框,它反转数据与我的dropodwns相同。 我试图在带有文本框的列上执行此操作。问题是,当我运行代码并使用我的自动填充字段输入列时,我只是得到“loading ...”,看起来我没有以正确的方式检索数据..
代码:
更新
有条件的信息:
我尝试自动填充的列名为EanNummer
{name:'EanNummer',index:'EanNummer',width:65,sortable:true,editable:true},
我的行动必须在加载时发生,如下所示:
loadComplete:function(){
if (grid.getGridParam('datatype') === 'json') {
// build the set 'source' parameter of the autocomplete
grid.jqGrid('setColProp', 'EanNummer', {
searchoptions: {
sopt: ['bw'],
dataInit: function (elem) {
$(elem).autocomplete({
source: '@Url.Action("GetCustumer3")',
delay: 0,
minLength: 0
});
}
}
});
}
jQuery("#list").trigger("reloadGrid", { stringResult: true, searchOnEnter: true, defaultSearch: "cn" }); // Call to fix client-side sorting
},
其中'@ Url.Action(“GetCustumer3”)'在源代码中是控制器中的一个方法,如下所示:
public JsonResult GetCustumer3()
{
string vendorId = "";
var username = "";
var name = System.Web.HttpContext.Current.User.Identity.Name;
var charArray = name.Split("\\".ToCharArray());
username = charArray.Last();
vendorId = service.GetVendorIdByUsername(username);
var list = new List<string>();
var customcat1 = service.GetAllIntCustomCategory1(vendorId);
foreach (var custom1 in customcat1)
{
if (custom1.SortOrderId == 0)
custom1.CustomName = "";
list.Add(custom1.CustomName);
}
return Json(list);
}
我将一个字符串列表作为jsonresult返回源代码,但jqgrid可以找到这样做吗?