0

今日は少しユニークなチャレンジがあります。cfgrid への挿入に基づいて複数のアイテムを検索できるようにしたいクライアントがいます。次の Web フォームがあるとします。

  • 国選択ドロップダウン
  • 状態選択に依存する AJAX ドロップダウン
  • 都市の選択に依存する AJAX ドロップダウン
  • 追加ボタン
    ----------------------------------------------- -----
  • ユーザーが追加ボタンをクリックしたときに行に選択内容を入力する CFGRID
    ---------------------------------- ------------------
  • そして最後にCLEARボタンと、下部にGOボタン。

結果のページは、データベースにクエリを実行し、選択された都市に関する統計を取得します。たとえば、個人が USA > Arizona > Scottsdale および USA > Arizona > Flagstaff を選択したとします。オプションの下のグリッドは、各選択を「保存」してデフォルトのオプションにリセットし、ユーザーが追加のオプションを選択するか、「GO」をクリックするのを待ちます。

結果のページには、コミュニティに関するいくつかの統計をリストする列が生成され、選択された各コミュニティ間の「ベスト」が強調表示されます。

ユーザーが [追加] ボタンを選択するたびに (3 つの条件が選択されていると仮定)、選択したオプションを表示する CFGRID に情報を追加したいと考えています。次に、ユーザーが少なくとも 1 つの国/都市/州のオプションを選択した後、CFGRID 内のすべてのデータを、選択したデータからクエリを実行する別のページに渡します。理論的には、ユーザーは必要な数のコミュニティを選択できます。ただし、必要な情報を取得するのに十分なデータをデータベースに蓄積させ、「読み込み」画面で取得するのを待つことをいとわないと仮定します。

私はこれらの課題を抱えていますが、順不同です: - クライアントの仕様ごとに使用する必要がある HTML グリッドがあります (Java または Flash は使用せず、HTML である必要があります) - 選択したオプションを CFGRID に取得する方法がわかりません。何らかの AddRow 関数を使用して追加ボタンを使用してグリッドにデータを追加する JavaScript を作成できると思いますが、インターウェブ上でその方法を見つけることができないようです - 上記の課題を克服した後、どのように渡すのですか?グリッドから結果ページへのデータ? 1 つの大きな文字列または構造体を渡すことを考えましたが、URL または投稿を通じてそれを行う方法も、グリッドからデータを取得する方法もわかりません。CFGRID 内のものを処理する代わりに、get メソッドを使用してオプション ページから結果ページに渡されるある種の文字列をコーディングし、CFGRID を「ダミー」表示コンテナーとしてのみ機能させる方がよいのではないかと思います。- 最後に、パスが完了した後、構造をループスルーし、データの各行に対して CFQUERY または CFSTOREDPROC を実行し、結果ページに表示する必要がある統計を取得する必要があります。これは、オプション選択ページから結果ページにデータを取得する方法に依存すると思います。

皆さん、ありがとうございました!

4

2 に答える 2

1

CFGRID は使い始めるには最適ですが、カスタマイズして拡張するのは簡単ではありません... bind で編集可能な CFGRID を試しましたか? 最初に、必要なものからどれだけ離れているかを確認します。非常に遠いことが判明した場合は、jqGrid を使用して jQuery のコードを作成することをお勧めします。

まず、HTML グリッドの使用を読み、cfgrid を編集可能にします。 http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7a01.html#WSc3ff6d0ea77859461172e0811cbec22c24-72e0

それが機能したら、CFGRID で使用できるこれらの提供された JS 関数を見てください。

それでももう少し必要な場合は、基になる ExtJS コンポーネントを掘り下げる必要があるかもしれません。その時点で、むしろjqGridを使用したいと思います

于 2012-04-28T17:13:24.693 に答える
0

これを処理する最善の方法は、SerializeJSON 呼び出しと Deserialize JSON 呼び出しを前後に使用することであることがわかりました。JavaScript 表記を使用することで、ページ間で複雑な JavaScript オブジェクト (配列) を渡すことができます。これには、セッションのタイムアウトを心配する必要がなく、ソリューション間で URL をクリックできるようにするという付加価値があります。

于 2012-06-20T19:42:31.043 に答える