我製作了一個DataGrid
,它綁定到由SqlDataAdapter
填充的DataTable
,因此我的DataGrid
類型會檢查用戶在DataGrid
中進行編輯時的情況。這很好,因爲它確保將正確的類型提交給數據庫。但是,當我嘗試將單元格編輯爲空單元格時(我認爲它是null
),驗證不會讓我更改該行,因此我無法將更改提交到數據庫。但是,當我添加一個新行時,只要空數據列在數據庫中可以爲空,我就可以毫無問題地添加該行。如何使DataGrid驗證能夠接受WPF中的空單元格?
我無法定義DataGrid
中的列,因爲它應該顯示不同的表格,並且在獲取表格之前無法知道表格的結構。
的DataGrid:
填充數據表和DataGridinternal DataTable FillDataGridFromSelectedTable(User user, MainWindow mainWindow)
{
dt = new DataTable();
using (SqlConnection con = new SqlConnection(ConnectionString))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT * FROM " + Name, con))
{
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(dt);
mainWindow.dataGrid_Table.ItemsSource = dt.DefaultView;
}
}
}
如果有什麼辦法可以解決這個
<DataGrid x:Name="dataGrid_Table" HeadersVisibility="Column" CanUserAddRows="true" RowEditEnding="dataGrid_Table_RowEditEnding"/>
方法?
非常感謝你。
除非您提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve) – ASh
感謝您的回答,否則無法回答您的問題。我將包含DataGrid的XAML和用於填充DataTable的代碼。但是,我不明白這對任何人都沒有任何幫助:-) – nickosv