質問
iは、データグリッドから(選択した)単一の行を編集する方法を知りたい
たとえば、列A、B、Cのデータグリッドがあります そして、私は数行のデータ、約10行を持っています。
行4内のデータの値を変更することを要求します
どうすればいいですか?
私はVisual Studio 2003を使用していますが、Visual Studio 2005も大丈夫でしょうか。私はc#を使用しているコーディングのために
ありがとう..
解決
asp.netのグリッドのようなコンポーネントはすべて、単一の行の編集を開始するのと同じメカニズムを備えています。実際には、asp.netのデフォルトはグリッド内の1行のみを編集することです。
編集を開始するには、asp:buttonまたはasp:linkbuttonをItemTemplateに含め、CommandNameを" Edit"に設定する必要があります。予約されたコマンド名の1つは、すべてのグリッドのようなコンポーネントが応答する方法を知っていることです。 DataGridでこのボタンをクリックすると、EditCommandイベントが発生します。このイベントでは、eventargsのItem.Itemindexに等しいグリッドのEditItemIndexを設定する必要があります。これにより、EditItemTemplateに対応する行がレンダリングされます。
このテンプレートには、2つのボタンまたはリンクボタンを配置します。 CommandNameを" Update"に設定する必要があります。 CommandNameを" Cancel"に設定する必要があります。
"更新"ボタンはUpdateCommandイベントを発生させます。行のデータをストレージ(例:データベース)に保存し、EditItemIndexを-1に設定するコードを実行します->すべての行は読み取り専用でレンダリングされます(ItemTemplateまたはAlternateItemTemplate)。
"キャンセル"ボタンはCancelCommandイベントを発生させます。イベントハンドラで、EditItemIndexを-1に設定する必要があります。
この説明は、DataGridにのみ当てはまります。asp.netで導入されたGridViewは、この「ボイラープレート」コードのほとんどをデータソースコントロールと連携して自己処理します。この詳細については、ウェブでGoogleをご覧ください。今ここで説明するのは大したことです。
役立つと思いますか
他のヒント
EditItemTemplateをデータグリッドに追加するためのドキュメントをご覧ください。表示専用の表示要素にはItemTemplateを使用し、選択した単一の行に対するバインドに使用するコントロールにはEditItemTemplateを使用します。
役立つリンクを次に示します。
データをDataGridにする前にDataTableに格納していますか、それともDataTableに格納できますか? DataTableの行を更新/削除/編集できます。コードスニペットを使用したリンクは、非常に簡単です:
http://msdn.microsoft.com/ en-us / library / tat996zc(VS.80).aspx