【发布时间】:2016-06-26 15:22:56
【问题描述】:
当用户单击 TreeView 中的元素时,会触发此功能:
private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
Vozlisce v = (Vozlisce)treeView.SelectedItem;
v.tabela.pretvoriListVDataTable();
seznam.ItemsSource = v.tabela.dt.DefaultView;
}
它将元素从 dt 类型为 ObservableCollection<Vozlisce> 复制到具有 xaml 的自定义数据网格:
<DataGrid x:Name="seznam" Margin="516,64,131.2,35.4" ItemsSource="{Binding DataSource}" AlternatingRowBackground="Gainsboro" AlternationCount="2" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="name" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBox Text="{Binding ime}"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="value" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBox Text="{Binding utez}"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
seznam.ItemsSource = v.tabela.dt.DefaultView;
我的问题是当我尝试从DataGrid 获取数据时,当用户单击保存按钮时,它不会从数据网格中获取当前更改的数据,它会复制我在开头使用@987654325 输入的相同数据@
保存按钮功能:
private void btnShraniUtezi_Click(object sender, RoutedEventArgs e)
{
DataView dataView = (DataView)seznam.ItemsSource;
DataTable dt = dataView.ToTable();
//test
double val = dt.Rows[1].Field<double>("utez");
MessageBox.Show(val.ToString());
}
如何从 DataGrid 获取当前更改的数据? 我正在使用 WPF。
【问题讨论】:
标签: c# wpf data-binding datagrid dataview