すべてのテキスト ボックスを持つ Silverlight でデータグリッドを作成しました (CellEditingTemplate を使用)。
保存ボタンをクリックすると、行データグリッドに存在するテキストボックスのデータをデータベースに挿入したいと思います。どうすればこれを達成できますか??
すべてのテキスト ボックスを持つ Silverlight でデータグリッドを作成しました (CellEditingTemplate を使用)。
保存ボタンをクリックすると、行データグリッドに存在するテキストボックスのデータをデータベースに挿入したいと思います。どうすればこれを達成できますか??
私はそれを使用して解決しました
List<string> list = new List<string>();
dataGrid.ItemsSource = list;
TextBox txt = this.dtgrd.Columns[0].GetCellContent(list[0]) as TextBox;
次のコードに挿入されたテキストボックスを取得したため、テキストボックスに格納されている値を取得しました。
<sdk:DataGridTemplateColumn Header="ID" Width="*">
<sdk:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Name="txt_ID" />
</DataTemplate>
</sdk:DataGridTemplateColumn.CellEditingTemplate>
</sdk:DataGridTemplateColumn>
取得した値は、List を使用して簡単に保存できるようになりました。
まず、View Model クラスを作成する必要があります。
public class Person
{
public int ID {get;set;}
public string Name {get;set;}
public string Address {get;set;}
public int Age {get;set;}
}
次に、このクラスの Observable Collection を作成し、それにグリッド アイテム ソースをバインドします。テンプレートで、各列を Person のプロパティにバインドします。
コードビハインドで保存ボタンを押すと、グリッドのコミット編集を呼び出す必要があり、すべてのデータがobservableCollectionに反映されます...その後、データをdbに保存できます。