TypeError:无法读取;stype“;JQGrid中未定义或空引用的

TypeError:无法读取;stype“;JQGrid中未定义或空引用的,jqgrid,Jqgrid,我想过滤器上的数据来动态列表格式。如果我 使用SearchOptions事件,然后抛出类型错误:无法读取未定义或空引用的“stype”。任何人都可以为我提供解决方案。网格模型如下图所示: jQuery("#list2").jqGrid({ url: '/LocaleRate/LocaleRates', datatype: "json", colModel: [ { name: 'Id', hidden: true }, {

我想过滤器上的数据来动态列表格式。如果我 使用SearchOptions事件,然后抛出类型错误:无法读取未定义或空引用的“stype”。任何人都可以为我提供解决方案。网格模型如下图所示:

 jQuery("#list2").jqGrid({
    url: '/LocaleRate/LocaleRates',   
    datatype: "json",
    colModel: [
        { name: 'Id', hidden: true },
        {
            name: 'SourceLocaleId', index: 'SourceLocaleName', width: 130, align: "left", editable: true, edittype: "select", formatter: 'select', editoptions: { value: LocaleList }, editrules: { required: true ,          stype: 'select', searchoptions: { sopt: ['eq', 'ne'], value: LocaleList 
        },
        {
            name: 'LocaleId', index: 'LocaleName', width: 90, align: "left", editable: true, edittype: "select", formatter: 'select', editoptions: { value: LocaleList }, editrules: { required: true }, stype: "select", searchoptions: { value: LocaleList }
        },
        {
            name: 'CompanyId', index: 'CompanyName', editable: true, width: 100, editable: true, edittype: "select", formatter: 'select',
            editoptions: {value: CompanyList}, editrules: { required: true},
            stype: "select", searchoptions: { value: CompanyList }
        },
        { name: 'VDBID', id: 'VDBID', editable: true, width: 90, editrules: { required: true }, editoptions: { readonly: "readonly" } },
        {
            name: 'CurrencyId', index: 'CurrencyName', width: 100, editable: true, edittype: "select", formatter: 'select', editoptions: { value: CurrencyList }, editrules: { required: true },
            stype: "select", searchoptions: { value: CurrencyList }
        },
        { name: 'HourRate', id: 'HourRate', editable: true, width: 130, editrules: { required: true } },
        { name: 'PageRate', id: 'PageRate', editable: true, width: 90, editrules: { required: true } },
        { name: 'WordRateExact', id: 'WordRateExact', editable: true, width: 130, editrules: { required: true } },
        { name: 'WordRateDuplicate', id: 'WordRateDuplicate', editable: true, width: 140, editrules: { required: true } },
        { name: 'WordRateFuzzy', id: 'WordRateFuzzy', editable: true, width: 130, editrules: { required: true } },
        { name: 'WordRateNew', id: 'WordRateNew', editable: true, width: 90, editrules: { required: true } },
        { name: 'MinimumPageCount', id: 'MinimumPageCount', editable: true, width: 130, editrules: { required: true } },
        { name: 'MinimumWordCount', id: 'MinimumWordCount', editable: true, width: 130, editrules: { required: true } },
        { name: 'WordRateExactComplex', id: 'WordRateExactComplex', editable: true, width: 150, editrules: { required: true } },
        { name: 'MinimumCharge', id: 'MinimumCharge', editable: true, width: 90, editrules: { required: true } },
        { name: 'WordRateDuplicateComplex', id: 'WordRateDuplicateComplex', editable: true, width: 150, editrules: { required: true } },
        { name: 'WordRateFuzzyComplex', id: 'WordRateFuzzyComplex', editable: true, width: 90, editrules: { required: true } },
        { name: 'WordRateNewComplex', id: 'WordRateNewComplex', editable: true, width: 90, editrules: { required: true } },
        { name: 'FirstProofRate', id: 'FirstProofRate', editable: true, width: 90, editrules: { required: true } },
        { name: 'WordRateHighFuzzy', id: 'WordRateHighFuzzy', editable: true, width: 90, editrules: { required: true } },
        { name: 'WordRateHighFuzzyComplex', id: 'WordRateHighFuzzyComplex', editable: true, width: 90, editrules: { required: true } },
        { name: 'DTPVendorHourRate', id: 'DTPVendorHourRate', editable: true, width: 90, editrules: { required: true } },
        { name: 'DTPVendorPageRate', id: 'DTPVendorPageRate', editable: true, width: 90, editrules: { required: true } },
        { name: 'VDBPriceLineID', id: 'VDBPriceLineID', editable: true, width: 90, editrules: { required: true } },
        { name: 'MTRate', id: 'MTRate', editable: true, width: 90, editrules: { required: true } },
        { name: 'DTPClientHourRate', id: 'DTPClientHourRate', editable: true, width: 90, editrules: { required: true } },
        {
            name: 'IsActive', editable: true, width: 40, edittype: "checkbox", editoptions: { value: "True:False" }
        }
    ],
    rowNum: 10,
    rowList: [10, 20, 30],
    pager: '#pager',
    loadonce: true,
    sortname: 'id',
    height: "auto",
    width: 2000,
    viewrecords: true,
    sortorder: "desc",
    caption: "JSON Example",
    jsonReader: {
        root: "rows",
        page: "page",
        total: "total",
        records: "records",
        repeatitems: false,
        id: "0"
    },
    autowidth: true,
});

jQuery("#list2").jqGrid('filterToolbar', {
    stringResult: true,
    searchOnEnter: false,     
});

参考上述代码,我希望对具有动态数据的SourceLocaleId、LocaleID、CompanyId和CurrencyId字段进行筛选。

这里,我以列表方式将具有动态数据的每列的索引值从“SourceLocaleName”替换为“SourceLocaleId”。

改进了格式,消除了噪音