データ入力用の ASP.Net グリッド ビューがあります。次の機能が必要です: フォーカスが最後の行の最後のセルにある場合、Tab キーを押すと、新しい行がグリッド ビューに追加されます。新しい行が追加されたとき、グリッド全体が更新されるべきではありません。つまり、最後の行の下に新しい空白行のみが表示されます。さらに、すべてのデータ入力が完了したら、[保存] ボタンをクリックすると (グリッド ビューの外側にあります)、行に入力されたすべてのデータをデータベースに保存します。この機能について教えてください。
2 に答える
Grid-view でこの Code Project Example を確認してください。
これが、アプリケーションに関するアイデアを構築するのに役立つことを願っています。
それは可能ですが、これを達成するには非常に厄介なハックが必要です.なぜですか? Microsoft は、ASP.NET GridView コントロールを、サーバー側でレンダリングし、その HTML マークアップをクライアント ブラウザーに吐き出すコントロールとして設計しました。クライアント側で挿入を有効にする必要がある場合は、次の代替案をお勧めします。
(最小の時間コスト) グリッド ビューを維持し、新しいレコードの作成に必要な入力コントロールを持つ非表示のパネルなど、ページに別のコンテナーを配置することで、新しいレコードの挿入を有効にします。Panel は、プレーンな JavaScript を使用して、クライアント側で簡単に表示または非表示にすることができます。[保存] をクリックすると、入力データがサーバーに戻され、データ ストアに追加されます。
(中程度のコスト) ASP.NET Repeaterコントロールに移行します。Repeater では、テーブルの最後の行を含めることができる FooterTemplate を制御できます。この行に任意の入力コントロールを入力し、ユーザーが最後の行でタブ キーをトリガーした場合に、単純に表示/非表示を有効にするコンテナーでこの行を囲みます。
(より長い時間のコスト) jqGridなどのクライアント ベースのグリッド コントロールに移行します。