1

colModel edittype: 'select', formatter: 'select' で定義すると、jqgrid に問題が発生します。 これは私の colModel:

colModel:
[
{ name: 'sdv_idreclamo', index: 'sdv_idreclamo', editable: true, edittype: 'text', editoptions: { defaultValue: Idreclamo }, hidden: true },
{ name: 'sdv_parpieza', index: 'sdv_parpieza', align: 'left', width: '35', editable: true, edittype: 'select', editoptions: { dataUrl: '@Url.Action("CargaDropDown", "raTabDatosVehiculo", new { param = "PIEZA"})', buildSelect: createSelectList} },
{ name: 'sdv_parcodclase', index: 'sdv_parcodclase', sortable: true, align: 'left', width: '35', editable: true, edittype: 'select', editoptions: { dataUrl: '@Url.Action("CargaDropDown", "raTabDatosVehiculo", new { param = "CODCLASE"})', buildSelect: createSelectList} }
....
],

Web ページを表示しても、説明には値しか表示されません。たとえば、列 sdv_pieza の説明は "AMORTIGUADOR" 値 :001 で、グリッド表示 001 をロードすると、"AMORTIGUADOR" が表示されます。sdv_pieza に formatter: 'select' を追加しました。

{ name: 'sdv_parpieza', index: 'sdv_parpieza', align: 'left', width: '35', editable: true, edittype: 'select', formatter: 'select', editoptions: { dataUrl: '@Url.Action("CargaDropDown", "raTabDatosVehiculo", new { param = "PIEZA"})', buildSelect: createSelectList} },

グリッドをロードすると、列 sdv_pieza は無効になります!! この列には何も表示されませんか

dataUrl は適切なパラメータを返し、buildSelect: createSelectList で選択を構築します。

createSelectList = function (data) {
   var response, s = '<select>', i;
   response = jQuery.parseJSON(data);
   if (response && response.length) {
      $.each(response, function (i) {
        s += '<option value="' + this.cp_idparametro + '">' + this.cp_descparametro + '</option>';
      });
   }
   return s + '</select>';
}

これは、jqgrid にデータを取得して編集したときのイメージです。 ここに画像の説明を入力

4

0 に答える 0