0

に含まれているaddeditdel関数を使用しようとしていnavGridます。行を追加しようとすると、このエラーが表示されます。

c.p.colModel[e].formoptions is undefined.

また、編集または削除しようとすると、同様のエラーが表示されます。

navGridに「含まれている」add、edit、del関数を使用しようとしています。行を追加しようとすると、次のエラーが表示されます:cpcolModel[e].formoptionsが未定義です。また、編集または削除しようとすると、同様のエラーが表示されます。誰かが私がこれを修正するのを手伝ってくれるでしょうか?

私のグリッドのコードは次のとおりです。

function mypricecheck(value, colname) {
    if (value < 0 || value > 20)
        return [false, "Please enter value between 0 and 20"];
    else
        return [true, ""];
}

$(function () {
    var lastSel;
    $("#list").jqGrid({
        url: "php.php",
        datatype: "json",
        mtype: "POST",

        colNames: ['Index', 'ac_n_quad', 'ac_l_circ', 'ac_n_circ', 'ac_fin_g', 'ac_pot', 'ac_volt', 'ac_n_polos', 'ac_t_prot', 'ac_v_prot', 'ac_cabo', 'ac_fd', 'ac_fp', 'ac_ctr', 'ac_pot_a', 'ac_pot_b', 'ac_pot_c', 'ac_pos_1', 'ac_pos_2', 'ac_calc'],

        colModel: [
            { name: 'index', index: 'index', width: 65, key: true, hidden: true },
            { name: 'ac_n_quad', index: 'ac_n_quad', width: 110 },
            {
                name: 'ac_l_circ', index: 'ac_l_circ', width: 65, editable: true, editoptions: {
                    dataInit: function (elem) {
                        $(elem).autocomplete({
                            source: "autocomplete.php?extraparam=ac_l_circ",
                            select: function (event, ui) {
                                $(elem).val(ui.item.value);
                            }
                        });
                    }
                }
            },
            { name: 'ac_n_circ', index: 'ac_n_circ', width: 120, editable: true, editrules: { custom: true, custom_func: mypricecheck } },
            {
                name: 'ac_fin_g', index: 'ac_fin_g', width: 75, editable: true, editoptions: {
                    dataInit: function (elem) {
                        $(elem).autocomplete({
                            source: "autocomplete.php?extraparam=ac_fin_g",
                            select: function (event, ui) {
                                $(elem).val(ui.item.value);
                            }
                        });
                    }
                }
            },
            { name: 'ac_pot', index: 'ac_pot', width: 55, editable: true, formatter: 'number', formatoptions: { decimalPlaces: 0, thousandsSeparator: '.' } },
            { name: 'ac_volt', index: 'ac_volt', width: 60, editable: true, edittype: "select", formatter: "select", editoptions: { value: "110:110; 220:220" } },
            { name: 'ac_n_polos', index: 'ac_n_polos', width: 100, editable: true, edittype: "select", formatter: "select", editoptions: { value: "1:1; 2:2; 3:3" } },
            { name: 'ac_t_prot', index: 'ac_t_prot', width: 100, editable: true, edittype: "select", formatter: "select", editoptions: { value: "DISJUNTOR:DISJUNTOR; FUSÍVEL:FUSÍVEL" } },
            { name: 'ac_v_prot', index: 'ac_v_prot', width: 70, editable: true },
            {
                  name: 'ac_cabo', index: 'ac_cabo', width: 60, editable: true, editoptions: {
                      dataInit: function (elem) {
                          $(elem).autocomplete({
                              source: "autocomplete.php?extraparam=ac_cabo",
                              select: function (event, ui) {
                                  $(elem).val(ui.item.value);
                              }
                          });
                      }
                  }
            },
            { name: 'ac_fd', index: 'ac_fd', width: 55, editable: true, formatter: 'number', formatoptions: { decimalPlaces: 1 } },
            { name: 'ac_fp', index: 'ac_fp', width: 55, editable: true, formatter: 'number', formatoptions: { decimalPlaces: 1 } },
            { name: 'ac_ctr', index: 'ac_ctr', width: 60 },
            { name: 'ac_pot_a', index: 'ac_pot_a', width: 70 },
            { name: 'ac_pot_b', index: 'ac_pot_b', width: 70 },
            { name: 'ac_pot_c', index: 'ac_pot_c', width: 70 },
            { name: 'ac_pos_1', index: 'ac_pos_1', width: 70 },
            { name: 'ac_pos_2', index: 'ac_pos_2', width: 70 },
            { name: 'ac_calc', index: 'ac_calc', width: 65 }
        ],
        cmTemplate: { align: "center" },
        ondblClickRow: function (id, iRow, iCol, e) {
            if (id) {
                if (id !== lastSel) {
                    $("#list").restoreRow(lastSel);
                    var cm = $("#list").jqGrid('getColProp', 'ac_ctr');
                    cm.editable = false;
                    $("#list").editRow(id, true);
                    $("input, select", e.target).focus().select();
                    cm.editable = true;
                    lastSel = id;
                } else {
                    $("#list").restoreRow(lastSel);
                    lastSel = "";
                }
            }
        },
        editurl: "edit.php",
        autowidth: "true",
        height: "auto",
        rowNum: 10,
        rowList: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100],
        sortname: "ac_n_quad, ac_n_circ",
        sortorder: "asc",
        pager: '#pager',
        viewrecords: true,
        gridview: true,
        caption: "Tabela circ_69"
    });

    $("#list").jqGrid('navGrid', '#pager', {
        add: true,
        addtext: "Adicionar",
        edit: true,
        edittext: "Editar",
        del: true,
        deltext: "Excluir",
        search: false,
        refresh: false
    },
    {
        reloadAfterSubmit: true
    }, // add options
    {
        reloadAfterSubmit: true
    }, // edit options
    {
        reloadAfterSubmit: true
    } // del options
    );

    $("#list").jqGrid('gridResize');
});

Firebugは、エラーが6083行にあることを示しています。

try { nm = g.p.colModel[i].formoptions.label; } catch (e) {} 
4

1 に答える 1

0

「cpcolModel[e].formoptionsisundefined。」というエラーがどこに表示されるかわかりません。コード

try { nm = g.p.colModel[i].formoptions.label; } catch (e) {} 

列'ac_n_circ'の検証中に例外を生成しますが、例外はキャッチされます(catch (e) {}パートを参照)。したがって、エラーメッセージは表示されません。

コードの行が完全ではないことに同意しますが、それでもエラーではありません。例外を排除したい場合は、追加するだけです。

formoptions: {}

を使用する列にeditrules

于 2013-03-21T17:29:17.010 に答える