EF4 MVC3(C#)でjqgridを使用しています。私はthisの@Olegのソリューションで検索しました。これはうまく動作し、私のニーズに合っています。jqgrid search:検索列を指定する方法は?
私は私のグリッドで定義された次の列があります
...
{ name: 'Stato', index: 'StatoTicketID', width: 20, align: 'left', sorttype: 'int', searchoptions: { sopt: ['eq']} },
{ name: 'StatoTicketID', index: 'StatoTicketID', width: 20, align: 'left', sorttype: 'int', hidden: true, searchoptions: { sopt: ['eq']} },
...
あなたが見ることができるように、列Stato
はインデックスStatoTicketID
(隠された整数フィールド)によって順序付けされ、順序が正常に動作します。私はStato
の値を検索しようとすると、私はStato
値で検索したいと思いながら
問題は、フィルタは、文字列としてインデックスStatoTicketID
に渡されます。だから、私はString型をInt32に変換できないことを指定するコントローラ内で例外が発生します。
私の場合のように、インデックスが別の列にあるときに検索を適用する列を指定する方法はありますか?
EDIT &回避策:今のところ 私は次の回避策で私の問題を解決しました。
(inside foreach (Rule rule in rules) of FilterObjectSet by Oleg)
....
if (rule.field == "StatoTicketID")
{
rule.field = "StatoTicket.Stato";
propertyInfo = typeof(T).GetProperty("stringfield"); // where stringfield is a text type column of my model
}
私はエレガントな解決策ではありません非常によく実現する、私は、jqGridから直接、必要な行動をしてください実装する方法を知って、自分で親切な応答を期待しています。事前に
おかげで
ありがとう、オレグ!私は第二の方法を試してみる。 StatoTicketIDは 'Stato'フィールドに与えられた 'priority'に基づいて注文することができるので、純粋なテキスト私の場合、並べ替え順序は良くありません。 私は2番目の方法を試してみます:私はそれが私の場合には最高の解決策だと思います。私はあなたに最新情報をお届けします!どうもありがとうございました! – Larry
@Larry:ようこそ! 'loadonce:true'を使わずに' datatype: 'json''を使うと、サーバ側のソートを実装するので、純粋なテキストを使った後でも 'name:' Stato '、index:' StatoTicketID 'を使い続けることができます'' Stato''カラムの値2番目の方法を選択する場合は、 '' Stato''カラムを編集する際にサーバにポストされるデータに注意してください。あなたが最終的な解決まですべてを実装するかどうかを教えてください。 – Oleg
THX。私は最初のソリューションを実装しようとしましたが、それでも動作しません。私はすでにデータ型 'json'とloadonce:false ... pherapsを使用してソリューションを修正する必要がありますか? 私は第2のものを試しています...あなたを更新しておきますよ、THX! – Larry