I'm not good at English because I'm not a native speaker. I apologize if I've made mistakes in the language :)
I'm new in C# and WPF and I'm trying to bind a WPF DataGrid to a DataTable in TwoWay. Now when I edit the values in the DataGrid, data in the DataTable change correctly. When I try to fill the DataTable with the following code:
OleDbDataAdapter adapter = new OleDbDataAdapter("a query", (a connection));
adapter.Fill(dataTable);
the code works and the DataGrid seems all right. But when I try this:
dataTable.Rows[0][1] = (some object);
the display value doesn't change. I try to check the values in the DataGrid in the following way:
MessageBox.Show((SomeDataGrid.Items[0] as DataRowView).Row[1].ToString());
and it turns out no problem. I'm wondering why the display values are like this.
Here's my DataGrid.CellStyle in XAML:
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{TemplateBinding Background}">
<DataGridDetailsPresenter HorizontalAlignment="Stretch" VerticalAlignment="Center" Content="{TemplateBinding Content}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<!-- triggers -->
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
I've been stuck on this problem for several days. Thanks for any help!