我很難讓複雜對象數據綁定正常工作。我有一個窗體和1個綁定源的3個DataGridViews。該BindingSource.DataSource是FileMoveProcesses對象和數據成員是FileMoveProcess對象綁定到BindingSource時將新行插入到DataGridView中
public class FileMoveProcesses
{
public List<FileMoveProcess> Processes { get; set; }
}
public class FileMoveProcess
{
public string Name { get; set; }
public bool Disabled { get; set; }
public FileMoveProcessDetails SourceDetails { get; set; }
public FileMoveProcessDetails DestinationDetails { get; set; }
}
有2個具有BindingSource的和數據成員的數據源其他DataGridViews分別SourceDetails和DestinationDetails。如果我已經在xml文件中爲這些詳細信息提供了數據,這可以很好地工作,如下所示。編輯過程正常工作,正如您所期望的,更新序列化。
的問題出現時,我嘗試添加一個新的FileMoveProcess。包含FileMoveProcess的最左邊的DataGridView將正確保存,但是當我嘗試在DataGridView中添加SourceDetails和DestinationDetails數據時,它們無法爲新的FileMoveProcess創建FileMoveProcessDetails對象,因此無法寫入xml文件。
我錯過了什麼?
TIA
PS的組合框是枚舉數據綁定,以便數據可用於新的項目。
那麼當你填充你的細節網格並按下保存時會發生什麼?當你調試的時候你能看到你的'FileMoveProcessDetails'對象附加到當前的'FileMoveProcess'或者它們是否爲空? – Vland
當Source或Destination Details網格失去焦點時,所有輸入的數據都被清除。 – Tim
更新。我進入了詳細數據網格屬性的DataBinding/Advanced部分,並重置爲綁定下拉列表爲「無」。這消除了焦點丟失時網格被清除的問題。現在,當我點擊保存細節對象爲空。 – Tim