2009-02-26 12 views
2

私は様々なフォームなどのCMSを作成しています。私は多くのドロップダウンを作成しています。私は非常にまれにしか変わらない2-4オプションで簡単なドロップダウンのためのランダムなキー/文字列値テーブルのトンで自分のデータベースを掘り下げているような気がしません。これを責任ある方法で管理するためにあなたは何をしていますか?ウェブアプリケーションでドロップダウンを維持する

これは言語に依存しませんが、誰かが具体的なアドバイスをしていれば、私はRailsで作業しています。あなたがドロップダウンが私の現在の位置でwhere句...

答えて

4

データベース内のすべてのルックアップテーブルに、そのルックアップが記述されている列挙型(タイトル、国など)にマッピングされた列があります。

これにより、ルックアップのドロップダウンで「その他、指定してください」というオプションを柔軟に追加することができました。私たちは、これをカプセル化したコントロールを、ケースバイケースでこの動作をオンまたはオフにするプロパティで行いました。

エンドユーザーが「その他、指定してください」を選択した場合、テキストボックスに自分の値を入力するように表示されます。これはルックアップテーブルに追加されますが、アドホックアイテムとしてフラグが立てられます。

テーブルには、各ルックアップ値のステータスを示すフラグ(Active、Inactive、AdHoc)が含まれています。アクティブなものだけがドロップダウンに表示されます。 AdHocは、「その他、指定してください」オプションで作成されたものでした。

管理者ページではAdHoc値の使用頻度が示され、サイトの管理者は一般的な一般的な値を一般的な使用に昇格させることができます。

これはあなたのアプリにとって過酷なことかもしれませんが、私たちのためには本当にうまくいっています。アプリは基本的に非常にビジネス特有のデータに対するCRUD操作でした。サイト全体で顧客が自分自身を維持したいと思っていた数十のルックアップがありました。これにより、私たちの介入なしに柔軟性が得られました。

+0

私は本当にこのアイデアが好きです。私はかなり精巧なものと一緒に行くかどうかは確かではありませんが、思考には間違いなく良い食べ物です。 –

+0

様々なドロップダウンが正しいグループを指していることをどのように確認しましたか?あなたのコードにグループキーをハードコードしましたか? –

+0

ルックアップコントロールのインスタンスをページに配置するたびにプロパティを設定します。これはasp.netで宣言的に行うのは簡単ではありません。私はRubyで働いていません。コントロールを設定するのを忘れてしまった場合、コントロールはひどく壊れてしまうので、デバッグするとすぐにコントロールが表示されます。 – teedyay

3

、我々はLookupCodeテーブルを実装しましたCodeGroup、Code、Meaningの列とその他のもの(アクティブなものなど)が含まれています。こうすることで、すべてのルックアップ値を含む単一の表が単一の場所にあり、ドロップダウンリストにバインドするためのクイックルックアップを行うことができます。

1

で結果を制限するために...何であるかを言うために余分な列を持つ1つのドロップダウンテーブルを持っているコールド

関連する問題