1

すべてのテキスト ボックスを持つ Silverlight でデータグリッドを作成しました (CellEditingTemplate を使用)。ここに画像の説明を入力

保存ボタンをクリックすると、行データグリッドに存在するテキストボックスのデータをデータベースに挿入したいと思います。どうすればこれを達成できますか??

4

2 に答える 2

0

私はそれを使用して解決しました

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 を使用して簡単に保存できるようになりました。

于 2012-10-29T08:39:15.103 に答える
0

まず、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に保存できます。

于 2012-10-28T11:34:44.007 に答える