XAML中的CellEditingTemplate

时间:2012-10-26 11:43:06

标签: c# wcf silverlight xaml

我在silverlight中创建了一个包含所有文本框的数据网格(使用CellEditingTemplate).. enter image description here

单击“保存”按钮,我想将行datagrid中存在的文本框数据插入到数据库中。 我怎么能实现这个?

2 个答案:

答案 0 :(得分: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 ...然后您可以将数据保存到数据库。

答案 1 :(得分: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轻松存储获取的值。