2009-03-31 26 views
0

新しいレコードを挿入するために使用するasp:ListViewにEmptyDataTemplateがあります。EmptyDataTemplateをasp:ListViewに挿入する

私は挿入がInsertItemTemplateで働いてい...私はこれが

Insert can only be called on an insert item. Ensure only the InsertTemplate has a button with CommandName=Insert. 

がどのように行を挿入するEmptyDataTemplateを使用することができ、エラーを与える挿入]をクリックの上、EmptyDataTemplateにInsertItemTemplateをコピーすることができると思いましたか?ボタンのOnClickを使用してEmptyDataTemplate内の値にアクセスし、自分で挿入する必要がありますか?空のデータテンプレートにデータを挿入したい場合、私はLinqDataSourceコントロール

答えて

2

あなたは今 ことによってそれを考え出したかもしれませんが、あなたはそれが常に挿入テンプレート

が表示されます。すなわちEmptyDataテンプレートがレンダリングされませんなし以外にInsertItemPositionを設定した場合、あなたはここに http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.emptydatatemplate.aspx

をより多くを読むことができます
+0

これは私の問題を解決しました:私はちょうど出始めていると私のデータセットが空の場合、どのように私は私のリストビュー内の項目を挿入することができますか? - InsertItemPosition = "LastItem"を使用します。 – russds

0

EmptyDataTemplateからインサートを手作業で挿入することができます。私はリストビューを使用して、一意のフィルタリングされた項目に基づいて静的な行数を表示しています。私は基本的にオブジェクトのすべての静的属性をリストしています。関連する属性を持たない新しいオブジェクトがフィルタリングされる場合は、リストビューのEmptyDataTemplateを使用して、asp.netコントロールを含むHTMLTableを表示してデータをキャプチャします。私はListView_ItemCommandを使って評価するコマンドボタンをテーブル内に持っています。 CommandNameがEmptyDataItem内の "Insert"ボタンのCommandNameと一致する場合は、ListView.Controls(0).FindControlメソッドを使用してテーブルを検索します。次に、テーブルをループして、各行内のデータに挿入します。 htmltable内にコントロールを見つける方法についても説明しました。私のコードでは、実際にSQLを作成し、SQLConnectionを使用して挿入を実行する、たくさんのコントロールを実際に取得しています。

エラーチェックとdatabind()を行い、リストビューを更新する必要があります。

これが最善の方法ですか?多分そうではないかもしれない...しかしそれは可能です。

〜イアン

関連する問題