我在silverlight中创建了一个包含所有文本框的数据网格(使用CellEditingTemplate)..
单击“保存”按钮,我想将行datagrid中存在的文本框数据插入到数据库中。 我怎么能实现这个?
答案 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轻松存储获取的值。