2011-01-07 4 views
0

SQLDataSourceにバインドされたDetailsViewがあるとします。基になるテーブルには、IDと値の2つの列があります。DetailsViewを使用すると、一部の列がキー列になります。これらの列はどのように非表示にしますか?

表示モードでは、値のみを表示します。 DetailsViewを編集モードに切り替えると、ユーザーが値を編集し、IDを表示または編集しないようにします。 ID列が表示されないようにすると、ID値がDetailsViewに格納されないので、双方向バインディングが機能せず、対応するDBレコードを更新できません。

DetailsViewで双方向データバインディングを行いますが、ID列をユーザーから隠すにはどうすればよいですか?

答えて

0

いずれのモードでもtemplateフィールドを使用してラベルを表示するか、またはその列を読み取り専用プロパティと見なします。どちらもうまくいく。

HTH。

0

これを行うための正しい方法は、たDetailsViewのDataKeyNamesプロパティにキー値のあるデータ項目を入れ

  1. です。
  2. 編集可能な最初のデータ項目のテンプレート列を作成します。テンプレート列内では、ASPを追加:のHiddenFieldコントロールを、キー項目の値にのHiddenFieldの値を設定します。あなたがのHiddenFieldを必要としないので、

+0

だけDataKeyNames

<asp:HiddenField runat="server" Value='<%# Eval("OwnerId") %>' />で十分です。 – gbs

関連する問題