2

JQGrid にドロップダウンを動的に追加したい。

例えば:-

以下のタイプのグリッドがあります。

ここに画像の説明を入力

ボタンをクリックすると、新しい行がグリッドに追加されます。新しい行の場合、最初の列のデータはドロップダウン、2 番目のハイパーリンク、3 番目のドロップダウン、4 番目のチェックボックスになります。

つまり、最初の行と同じでなければなりません。

ボタンをクリックするたびに、最初の行と同様に新しい行を追加する必要があります。

4

1 に答える 1

5

タイプ formatter='select' および type='select' の属性の場合、jQgrid はキーと値のペアのリストを内部的に維持します。

そのため、新しい行を挿入するときに、ドロップダウン ボックスの値として「ID」を指定する必要があります。

例えば ​​:

新しい行を挿入する場合:

  $("#listData").jqGrid('addRowData',index,{kpiParameter:1,product:'XYZ',metric:'1',perkSharing:'XYZ'});

ここで、「1」は KpiParameter の ID です。このソリューションを機能させるには、jQgrid を定義するときに、ドロップダウンのキーと値のペアのリスト全体をロードする必要があります。

以下のようにjqGridを書くことができます:

jQuery('#kpisetup').jqGrid({
            autowidth: true,
            autoheight: true,
            url : '',
            mtype : 'POST',
            colNames : [  'KPI ID','KPI Parameter', 'Product','Metric','Perk Sharing'],
            colModel : [ {name : 'kpi_id',index : 'kpi_id',autowidth: true,hidden:true,align:'center'},
                         {name : 'kpi_parameter',index : 'kpi_parameter',width:200,
                                                sortable:true,
                                                align:'center',
                                                editable:true,
                                                cellEdit:true,
                                                edittype: 'select', 
                                                formatter: 'select',
                                                editrules: { required: true},
                                                editoptions:{value: getKPIParameters()//LOAD ALL THE KPI PARAMETER KEY-VALUE PAIR}
                         },
                         {name : 'product',index : 'product',autowidth: true,formatter:'showlink',formatoptions:{baseLinkUrl:'#'},align:'center'},
                         {name : 'metric',index : 'metric',width:75,
                                                editable:true,
                                                edittype: "select",
                                                align:'center',
                                                formatter: 'select',
                                                editrules: { required: true},
                                                editoptions: {value: '1:select' //LOAD ALL THE METRIC VALUEs}
                         },
                         {name : 'perksharing',align:'left',index : 'perksharing',autowidth: true,editable:true,edittype: "checkbox",align:'center'}
                       ],
            rowNum : 10,
            sortname : 'kpi_parameter',
            viewrecords : true,
            gridview:true,
            pager : '#kpisetup_pager',
            sortorder : 'desc',
            caption : 'KPI Setup',
            datatype : 'json'
        });

これがうまくいくことを願っています。

ありがとう、グンジャン。

于 2012-10-29T05:38:10.267 に答える