【问题标题】:CellEditingTemplate in XAMLXAML 中的单元格编辑模板
【发布时间】:2012-10-26 11:43:06
【问题描述】:

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

单击保存按钮时,我想将行数据网格中存在的文本框的数据插入数据库。 我怎么能做到这一点??

【问题讨论】:

标签: c# wcf silverlight xaml


【解决方案1】:

首先你应该创建你的视图模型类。

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 ...然后您可以将数据保存到数据库。

【讨论】:

  • 在此之前,我需要访问 datagrid 中的文本框以获取文本..因为我使用了“findname()”但仍然无法访问,我该如何执行以下操作:
  • @maatu 在您的问题中分享xaml 代码,请编辑您的问题并向我们展示您到目前为止所做的尝试。
【解决方案2】:

我解决了这个问题

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_strdtgrd 是什么?
  • 请在你的回答中说明这些事情,不要指望人们自己知道。
  • 不要粗鲁地理解我的兄弟,我只是希望你从错误中吸取教训,成为更好的 SO 用户和贡献者......和平...... :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多