Tôi không giỏi tiếng Anh vì tôi không phải là người bản xứ. Tôi xin lỗi nếu tôi đã phạm sai lầm trong ngôn ngữ :)Ràng buộc một DataFrid WPF vào một DataTable
Tôi mới trong C# và WPF và tôi đang cố gắng liên kết một DataFrid WPF với một DataTable trong TwoWay. Bây giờ khi tôi chỉnh sửa các giá trị trong DataGrid, dữ liệu trong DataTable thay đổi chính xác. Khi tôi cố gắng điền vào DataTable bằng mã sau:
mã hoạt động và DataGrid có vẻ ổn. Nhưng khi tôi thử điều này:
dataTable.Rows[0][1] = (some object);
giá trị hiển thị không thay đổi. Tôi cố gắng kiểm tra các giá trị trong DataGrid theo cách sau:
MessageBox.Show((SomeDataGrid.Items[0] as DataRowView).Row[1].ToString());
và không có vấn đề gì. Tôi tự hỏi tại sao giá trị hiển thị như thế này.
Dưới đây là DataGrid.CellStyle tôi trong 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>
Tôi đã bị mắc kẹt trên vấn đề này trong vài ngày. Cảm ơn vì bất kì sự giúp đỡ!
Khi bạn xác định cột cho DataGrid, hãy đảm bảo bạn đang đặt thuộc tính UpdateMode thành PropertyChanged – Sivakumar