我在 silverlight 中创建了一个数据网格,其中包含所有文本框(使用 CellEditingTemplate)..
单击保存按钮时,我想将行数据网格中存在的文本框的数据插入数据库。我怎么能做到这一点?
我在 silverlight 中创建了一个数据网格,其中包含所有文本框(使用 CellEditingTemplate)..
单击保存按钮时,我想将行数据网格中存在的文本框的数据插入数据库。我怎么能做到这一点?
首先你应该创建你的视图模型类。
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 ...然后您可以将数据保存到数据库。
我用它解决了
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 轻松存储获取的值。