私はsetColPropを使用して、select
編集タイプに値を動的に読み込みます。jqgrid setColPropが動作しない
私は呼んでいつでも値が正常にロードがあります。
loadComplete: function() {
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
},
それだけで一度だけここで働き、しかし。私はcontract_list
の値を変更し、(afterSubmitから、ボタンクリックから、あるいはリロードテーブル)の任意の場所から再び
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
を呼び出すことによってjqgridを更新しようとした場合、それはまったく何もしません。
私が間違っていることはありますか?
編集: ここで私がしようとしていることのより良い説明です。
私はidが#profile_table
のjqGridテーブルを持っています。編集中
colModel:[
{name:'contract_num',index:'contract_num', editable: true, hidden: false, width:30, edittype: "select", editrules: {required: true}},
]
最初contract_num
編集フィールド/フォームを追加し、そのselect
ボックスに値がない:
これはjqGridコードでcolModel
の一部です。テーブルが作成される前に作成されたcontract_list
というjavascript変数から初期値をロードします。私が使用して最初にこれらの値をロードします。これは、正常に動作します
loadComplete: function() {
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
},
、しかしユーザは、このテーブルが上に表示されていることをページ上で何かを変更するたびにcontract_list
の値が変更される可能性があります。だから、select
ボックス内のオプションをこのテーブルの編集/追加フォーム内のcontract_num
フィールドに動的に更新しようとしています。私は正常にcontract_list
の内部の値を変更しますが、実際のselect
ボックスを新しい値に更新することはできません。
$("#profile_table").setColProp('contract_num', { editoptions: { value: contract_list} });
をして、誰かがcontract_list
の値を変更するたびに、グリッド、しかしテーブルが更新されていないがリロード:
私は呼び出すことによってそれを更新しようとしています。
ajaxSelectOptions: { cache: false }
jqGridオプションを設定するために要求される可能性が問題はより詳細になります。 'editoptions.value'はどのように使用されますか?たとえば、*編集モードでいくつかの行がある場合*選択は自動的には適用されませんが、編集を開始する次の行は新しい設定を使用します。 'formatter: 'select'と' editoptions.value'を一緒に使うとグリッドをリロードしてグリッドボディに変更を適用する必要があります。より完全なコード例を含めることができますか? – Oleg私は何をしようとしているのより多くのコードと良い説明を追加しました、あなたは今、私の問題を理解することを願って – Sandoichi
申し訳ありませんが、更新された部分は何もクリアされません。あなたは「私は実際の選択ボックスを新しい値に更新することはできません」と書いています。 「実際の選択ボックス」とは何ですか?選択は**いくつかのセルまたは行を編集する場合にのみ**存在します(私はあなたが使用する編集モードをまだ知りません)。なぜ 'setColProp'の後にグリッドをリロードするのですか?編集モードで何行か現時点ではありますか?答えが "no row"の場合、リロードは必要ありません。なぜあなたは 'loadComplete'の中に' setColProp'を置いたのですか?私は 'contract_list'を誰が変えるのか、どうやってこれを行うのか分かりません。いくつかのイベントハンドラでこれを行いますか? – Oleg