1

filterToolbar を使用して、日時で jqGrid をフィルタリングすることを検討しています。

私の質問は、Olegs の優れた回答hereに基づいています。

次のように、日付でツールバー検索をトリガーする方法を最終的に見つけました。

colModel: [{
    name: 'RequestDate',
    index: 'RequestDate',
    formatter: 'date',
    formatoptions: {
        newformat: 'm/d/Y h:iA'
    },
    searchoptions: {
        sopt: ['eq'],
        dataInit: function (elem) {
            $(elem).datepicker({
                changeYear: true,
                changeMonth: true,
                onSelect: function (dateText, inst) {
                    setTimeout(function () {
                        $('#MyGrid')[0].triggerToolbar();
                    }, 50);
                }
            });
        }
    }
}]

ピッカーから日付を選択すると、時間を無視して、指定された日付のすべてのレコードが返されます。

FilterObjectSetメソッドを更新しようとしましたが、うまくいきませんでした。これをうまく実装できた人はいますか?

私が試したこと:(オレグのリンクされたソリューションのコードを参照)

FormatMapping をに設定し、System.DateTime を"(dateadd(dd,0, datediff(dd,0, it.{0})) = @p{1})"switch ステートメントに追加します。

case  "System.DateTime":
                        param = new ObjectParameter("p" + iParam, Convert.ToDateTime(rule.data));
                        break;

しかし、これは EntitySqlException になります:

'dateadd' cannot be resolved into a valid type or function.

誰にも解決策がありますか?

4

1 に答える 1

0

わかりました今朝それを理解しました:

新しいオペレーションを追加しました:

de //de - date equals

を使用する新しい文字列を FormatMapping に追加しましたSqlServer.datediff:

"(SqlServer.datediff('DAY', it.{0} , @p{1}) = 0)" //de - date equals

日付のケースを追加しました:

case  "System.DateTime":
    param = new ObjectParameter("p" + iParam, Convert.ToDateTime(rule.data));
break;

colModel の sopt を次のように変更しましたsopt: ['de']

于 2012-09-05T07:16:44.973 に答える