複雑な検索を可能にするために、 "multipleSearch = true"と "multipleGroup = true"のjqGridがあります。jqGrid複雑な検索ダイアログでDatePickerが初期化されていません
私は列に「stype」を設定しています(私の場合、「日付」、「テキスト」、「整数」および「通貨」を含みます)。
DatePickerプラグインとオートコンプリートプラグインの "date"と "text"カラムの "dataInit"関数も用意しました。
検索ダイアログを開くと、オートコンプリート "dataInit"関数が呼び出されますが、DatePicker "dataInit"関数は呼び出されません。
これは、新しいフィルタが作成されたときに "dataInit"関数がトリガされ、最初の列の "stype"に基づいているためです。
(これは、私は、ユーザーが検索ダイアログのドロップダウンリストから列を選択したときにトリガーされる疑う必要があります。)
ユーザーが「日付」フィールドを検索したい日付ピッカーを表示する方法はあります他のフィールド "stypes"に対して無効にしますか?
私は、以下の関連するコードスニペット含めました:
var DatePickerCfg = { id: 'DatePicker',dateFormat: 'dd/mm/yy',minDate: new Date(1990,0,1),maxDate: new Date(2099,12,31),showOn: 'focus' };
var AutoCompleteCfg = { id: 'AutoComplete',source: '' };
var formatoptions = {};
var searchoptions = {};
else if (Field['Type'] == '[datetime]')
{
stype = 'date';
formatoptions = {srcformat: 'Y-m-dTH:i:s', newformat: 'd/m/Y g:i:s A'};
searchoptions = {sopt: ['eq','ne','lt','le','gt','ge'], dataInit: function(el) {setTimeout(function() {jQuery(el).datepicker(DatePickerCfg);}, 200);}};
}
else {searchoptions = {sopt: ['eq','ne','lt','le','gt','ge','bw','bn','ew','en','cn','nc'], dataInit:function(el) {setTimeout(function() {jQuery(el).autocomplete(AutoCompleteCfg);},200);}};}
colModel.push({name:Field['Field'], index:Field['Field'], align:Field['Align'], sortable:true, stype:stype, formatter:stype, formatoptions:formatoptions, searchoptions:searchoptions});
Trirandのウェブサイト上のさまざまなC#とVBの例で、このコードが有効になっていることに気付きました...彼らの専有コードを使用しているので、サーバー側のライブラリ。 は、以下のリンクを参照してください。彼らは、明示的にDataPickerを使用するために、検索ダイアログを設定し、その「SetUpSearchDialogMultipleGrid」機能では http://www.trirand.net/a...id/searchdialogmultiple を、そのすべてのC#とVBで彼らが実際に何をしているのかを詳細に記述した実際のコードはありません。 – Rat