2011-12-04 16 views
1

私は、同じページをレコードの内容の読み取りと編集に使用できるように、ページを構造化するためのきれいな方法を見つけようとしています。例:APEXでの読み取り/書き込みページの作成

  1. レコードのページを表示します。内容はテキスト/何でも表示されます。
  2. あなたは、編集ボタンをクリックして、値がテキストエリア、テキストボックス、値リストなど

に提示されている私は、レコードごとに別々の編集ページとビューページを作成せずにこれを実行したいと思います。私が持っていたアイデアは、ViewRecordとEditRecordの2つのリージョンを作成し、URLパラメータが渡されたかどうかに基づいてどちらか一方を表示することでした(ただし、これが単純か可能かどうかはわかりません - 地域条件では、しかし、私はどのようにリクエストパラメータにアクセスするか分からない)。

この種の活動には、共通の/ベストプラクティスがありますか?人々はこれに対してどのように対処しますか?

+0

レコードを表示して編集するのに同じページを使いたいが、一方のモードからもう一方のモードに移行するには、URLを変更する必要がありますか?ユーザーがレコードを編集するためにURLを提出しなければならない場合は、2ページしか持たないほうが簡単でしょうか? –

+0

また、私はあなたが「レコードを別々に編集してページを表示する」と言う理由を理解していません。 "別の編集ページを作成し、各テーブルのページを表示する"という意味ですか? –

答えて

1

リクエスト値と条件付きの表示を使って小さな例を作成しましたが、それを試してみてくださいhere。 セットアップは、このようなものです:

treeview

エディットモードボタン:条件に注意してください。私は、このボタンを表示したくない「編集モード」が有効になっている場合 - >「要求がライトと異なる場合に私を見ます」 。また、最初にページを入力すると、要求はNULLになります。 NULLがWRITEと異なるため、編集ボタンが表示されます。

Edit button code

Readmodeボタン:ほとんど同じ。条件では、書き込み要求を具体的にテストします。要求がnullの場合、ボタンは表示されません。

Read button code

表形式上の条件:リードフォームの

tabular form condition

次のように、条件があります。繰り返しますが、WRITEとは異なるリクエストで、リクエストがNULLの場合にレポートが表示されます。

report condition

どのようにあなたが別の方法でこれを解決することができますか?より動的なアクションが必要な場合は、javascriptを使用できます。私はときどき入力属性を読み取り専用に設定し、背景色をグレーに変更しています。これにより、ユーザーはアイテムをタブで移動できますが、アイテムを編集できるようになりません。私はフィールドを編集可能でないことを示すためにそれらをグレー表示します。 disableをtrueに設定しないでください。無効なフィールドは値をポストしないので、頂点の機能は中断されます。 例:

$("input").attr("readonly", "true"); 
$("input[readonly='true']").css("background-color":"grey"); 

これは読み取り専用ためにあなたのページ上の各入力フィールドを設定し、それらを灰色でしょう。このコードを呼び出すには、ボタン、リンク、動的アクションなどを使用できます。あなたのページを提出したり、再読み込みする必要はありません。

「表示項目」や「読み取り専用条件」を特に使用したくないため、この項目を使用することもよくあります。フィールドをフラットテキストとしてレンダリングして、ラベルと値を区別しにくくします。フォーム(表形式ではない)でも、私はこのトリックを使用するのが好きです。使用するのが面白いです。

ベストプラクティス:わかりません:)私自身は通常、「レポート付きフォーム」を使用しますが、主に顧客もそれを望んでいるためです。彼らにとって、これはその後の理解と維持の容易さです。あなたとあなたの顧客が私が考えていると決めるのはあなた次第です:どちらの方法も厳密には難しくなく、純粋な頂点です!

関連する問題