我不擅長英語,因爲我不是母語的人。我很抱歉,如果我在語言中犯了錯誤:)將WPF DataGrid綁定到DataTable
我是新的C#和WPF,我試圖將一個WPF DataGrid綁定到TwoWay中的DataTable。現在,當我編輯DataGrid中的值時,DataTable中的數據會正確更改。當我嘗試使用以下代碼填充DataTable:
OleDbDataAdapter adapter = new OleDbDataAdapter("a query", (a connection));
adapter.Fill(dataTable);
代碼工作和DataGrid似乎是所有權利。但是當我試試這個時:
dataTable.Rows[0][1] = (some object);
顯示值不變。我試着檢查下列方式DataGrid中的值:
MessageBox.Show((SomeDataGrid.Items[0] as DataRowView).Row[1].ToString());
而且事實證明沒有問題。我想知道爲什麼顯示值是這樣的。
下面是XAML我DataGrid.CellStyle:
<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>
我一直停留在這個問題上了好幾天。謝謝你的幫助!
當你定義DataGrid中列,請確保您的UpdateMode屬性設置爲的PropertyChanged – Sivakumar