2015-07-10 42 views

回答

0

附加查詢全部加載到數據集中完全相同的表中。每個查詢可以返回大致相同的數據,但使用不同的表和參數。

dim ta as new myTableAdapter dim md as new myDataSet 。 。 。 暗淡BS作爲新的BindingSource bs.Datamember = 「myTable的」 bs.DataSource = myDataSet

ta.PrimaryQuery(md.myTable,參數1,參數)

ta.AlternateQuery(md.myTable,參數3)

請注意,如果您是在表單設計器中執行此操作,那麼當您將數據源拖到表單上時,大多數情況下都會照顧到您。

來自兩個查詢的所有加載記錄直接進入數據集中的表格。你不需要對你的額外查詢做任何特別的事情。

+0

使用表單設計器時,無法選擇附加到數據集中某個表的某個查詢以用於bindingSource。 – gjones

0

我正在使用表單設計器。 我在窗體上添加了新的「票據」記錄。該區域有一個組合框,只列出活動的「位置」,並具有插入新記錄的「添加」按鈕。

我有一個dataGridView顯示所有「票據」記錄與「位置」的嵌入組合框,以便用戶可以編輯值,如果需要。此組合框使用與「添加新」「位置」組合框相同的bindingSource。 bindingSource正在使用的數據集有其他查詢來顯示「位置」的完整列表或僅顯示活動的「位置」。

問題是,如果dataGridView試圖顯示具有非活動「位置」的舊「票據」記錄,則所需記錄不在「位置」數據集中並導致錯誤。所以,我打算將dataGridView的「位置」Combobox綁定到「位置」記錄的完整列表。接下來我認爲這將允許用戶編輯記錄,並在不知不覺中選擇不活動的「位置」。我最終的解決方案是更改原始的「位置」數據集,使記錄在其描述中附加「(不活動)」,以便用戶知道此「位置」處於非活動狀態。我從來沒有實現第二個bindingSource。

+0

您也可以在綁定源中添加一個過濾器來「隱藏」不活動的記錄,但檢查原始表以確保沒有重複。 – Arkitec