2011-02-04 47 views
1

未知数の行があるユーザーが完了する「表」を作成したいとします。GridView/DataGrid/Repeaterに動的に行を追加しますか?

説明のために、ショッピング旅行後にレシートから詳細を入力するとします。つまり、行数(またはアイテム数)が不明になるとします。

+ ------- + ----:私は、単一の行を持つグリッドを作成したいこの、および項目名と価格を入力するテキストボックスを含む2つの列をacheiveする

----- +
+アイテム+価格+
+ ------- + --------- +
+豆+ 150 +
+ ------ - + --------- +

その後、最初の行が完了した後、その場で別の行を生成するなどです。

これはどの制御が最適ですか?私はGridview/DataGrid/Repeaterまたは何を使用する必要があるかどうかわからないasp.netかなり新しいです。 (関連性があるかどうかはわかりませんが、アイテムテックスボックスにはAjax AutoCompleteExtenderが関連付けられています)

すべてのポインタが大歓迎です。私が言及するのを忘れてしまった

EDIT

ことの一つは、それがロードされたときにGridView(または何でも)がそれにバインドされたデータがないということです。それが決定に影響を与えるかどうかは不明です。

答えて

0

あなたは確かにリピータを使用することができますが、グリッドとしてデータの構造を特定している場合(たとえば、将来新しい列を追加する予定がある場合など)、GridViewがおそらく最適です。

+0

実行時にGridViewに行を追加する方法はありますか? – Ben

2

GridViewは、行をインラインで追加するのにはあまり効果がありません。おそらく少しハッキリしなければならないでしょう。グリッドビューにデータソースを設定して、実際のデータの最後に空白行がもう1つあるようにして、グリッドの最後の行を編集モードに設定してくださいグリッドビューがバインディングを終了するたびにその後、更新アクションをインターセプトして、実際に更新する代わりに挿入する必要があります。既存の行を編集するときには、同時に2つの編集可能な行を持つことができないため、空の行を削除する必要があります。トリッキーですが、おそらくそれを行うことができます。

リピータを使用して既存の行をすべて読み取り専用モードで表示し、最後に編集可能な行を出力することもできます。

私はこの時点でどちらを選択するか分かりません。

関連する問題