我正在修改一個非常複雜的表單。該表格有多個子表格。最初的化身是創建所有這些隱藏的面板,並且這樣(沒有我的設計,我試圖修復)。用戶控件嵌套的FormView,事件沒有正確觸發
我最終得到的是一個FormView,其中編輯模式由一個典型的表單組成,並且它有一個子表單。現在,子窗體在ReadOnly模式下顯示一個GridView,它與一個回調編輯方法綁定,該方法將將子窗體的索引更改爲適當的並將其更改爲Edit模式。所有這些數據都是通過SqlDataObjects。
爲了簡化這個過程,我將子窗體放到了一個usercontrol中,並且在主窗體的Edit和ReadOnly部分中都包含了用戶控件。因此,當主窗體是ReadOnly時,它顯示了用戶控件的默認模式,即ReadOnly,從而顯示網格。這部分很好地工作。
當用戶在編輯模式下打開主窗體時,子窗體按預期方式以網格模式顯示(並且網格中包含「編輯」按鈕的列被渲染爲可見)。這工作也很好。
當我點擊編輯按鈕並將窗體更改爲編輯模式時,一切都按預期工作。我可以看到,通過調整的子表單的流程正在按預期進行。
現在,當我點擊更新按鈕,這只是一個簡單的LinkButton,它具有CommandName設置(就像任何其他工作表單視圖一樣),我注意到回調會轉到子窗體(跳過mainform的數據綁定 - - 這也是期望的),但更新調用永遠不會呈現給SqlDataObject。
我有一個OnUpdating/OnInserting/OnSelecting爲我的每個SqlDataObjects只是爲了調試的目的,它從來沒有命中。回發後,用戶控件直接進入ReadOnly模式。我不認爲這是一個DataBinding問題。
任何人都看到這與嵌套窗體控件?具體來說,usercontrols住房FormView嵌套在一個FormView?
我根本不可能丟棄整個用戶控件,只是把窗體直接在裏面MainForm的,但我寧願知道正確的解決方案,只是玩,直到它的工作原理...
看來,與場景中的更大的潛在的問題是子窗體正在失去它在回傳formviewmode狀態,而MainForm中不。感謝您的-1評論。在不同的博客上似乎有幾個類似的問題,但在典型的方式看來,一旦他們發現它們不分享知識:( –