【发布时间】:2012-10-26 11:43:06
【问题描述】:
我在 silverlight 中创建了一个包含所有文本框的数据网格(使用 CellEditingTemplate)..
单击保存按钮时,我想将行数据网格中存在的文本框的数据插入数据库。 我怎么能做到这一点??
【问题讨论】:
标签: c# wcf silverlight xaml
我在 silverlight 中创建了一个包含所有文本框的数据网格(使用 CellEditingTemplate)..
单击保存按钮时,我想将行数据网格中存在的文本框的数据插入数据库。 我怎么能做到这一点??
【问题讨论】:
标签: c# wcf silverlight xaml
首先你应该创建你的视图模型类。
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 ...然后您可以将数据保存到数据库。
【讨论】:
xaml 代码,请编辑您的问题并向我们展示您到目前为止所做的尝试。
我解决了这个问题
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 轻松存储获取的值。
【讨论】:
lst_str 和 dtgrd 是什么?