2

時々、複数行の入力を許可する入力コントロールを作成する必要があります。入力のタイプと列の数はケースごとに異なる可能性がありますが、通常は編集中のデータベーステーブルを表すため、各行に id 値を格納できます。入力するデータがさらにある場合は、ユーザーが入力に新しい行を追加できるようにすることもできます。

私はこれに対していくつかのアプローチを試みましたが、それらはすべて、そのような明白で一般的なシナリオのように見えるものに対して、非常に長い時間を費やしています. 私が見逃したこれを行う簡単な方法がなければならないと考えています。

私が通常これを解決する方法は、リスト ビューを使用し、アイテム テンプレート内に必要なすべての入力コントロールを入力し、書式設定に html テーブルを使用して、各アイテムをテーブルの行にすることです。編集する既存のデータがある場合は、データベースからデータを読み込み、空白のオブジェクトを結果に追加して、リスト ビューにバインドします。既存のデータがない場合は、空白のレコードを含むコレクションを作成し、それをリスト ビューにバインドします。新しい行を追加するためのボタンを追加します。このボタンをクリックすると、すべてのリストビュー アイテムを反復処理してコレクションにデータを入力することで、リスト ビューから既存のデータをすべて取得します。コレクションに空のオブジェクトを追加し、リストビューを結果で再バインドします。保存するときは、リストビュー項目を再度繰り返し、各行内の非表示フィールドを使用してレコード ID を格納することにより、結果を取得します。これにより、新しいレコードが追加されたか、既存のレコードが編集されたかが決まります。

このアプローチは私にとってはうまくいきますが、これを達成するためのより簡単な方法があるはずです。他の人がこれをどのように解決するかを楽しみにしています。

4

3 に答える 3

2

Web フォームの場合は、GridView を使用します。プロパティを設定して、編集、削除、新しい行、並べ替え、およびページングを許可できます。

使用方法を示すMSDN の例を確認してくださいデータソースをそれにバインドすると、列が計算されて動的に調整されます。または、必要な列を事前に定義してカスタマイズ性を高めることもできます。

于 2013-09-24T20:13:08.007 に答える
0

各データに対する追加、表示、編集、および削除操作を備えた動的テーブルが必要です。

DataTable Jquery コンポーネントを使用することをお勧めします。データ操作に関する例はたくさんあり、これを ASP.net を含む任意のサーバー テクノロジにプラグインできます。

http://editor.datatables.net/

于 2013-09-27T08:43:44.650 に答える