2017-02-28 75 views
1

我正在使用DataGrid控件處理WinForms應用程序。我已經使用BindingSource作爲數據源,並且我已經初始化了BindingSource.DataSourceForm_Shown事件。父表正確加載但子表未加載。 如果我在Form_Load事件中初始化BindingSource.DataSource,它工作正常,沒有問題。爲什麼在使用Form_Shown事件時數據未加載?

爲什麼這種差異發生在Form_Shown和Form_Load事件中使用BindingSource?

請讓我知道原因。 '

Form1.Designer.vb 
Me.DataGridView.DataSource = Me.BindingSource1 

Form1.vb的

Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles Me.Shown 
    ''Does not work 
    BindingSource1.DataSource = ParentList.FetchMaintenance 
    ''Does work 
    DataGridView.DataSource = ParentList.FetchMaintenance 
End Sub 

回答

0

根據MSDN:

的Form_Load或負載的事件的形式將顯示 第一次之前發生。

雖然

所示的事件只提出的第一個時間顯示的形式。

也許是因爲表單沒有加載你的綁定源,這就是爲什麼它沒有加載顯示事件。因爲沒有可以顯示的東西。

相關問題