2013-10-15 97 views
0

我正在使用combox和datagridview。我試圖完成的是(這是家庭作業)顯示一個組合框,用戶可以選擇一個員工ID。當用戶選擇該ID時,datagrid視圖將顯示該員工ID的銷售情況。ComboBox和Datagridview VB.Net

我想出現各種各樣的問題,所以我想重新啓動,並通過這個過程。我的表單非常簡單。這是我迄今爲止所做的,請耐心等待。

首先,我將我的employeeID設置爲組合框(從數據源窗格上的數據源)並拖放到我的表單中。我點擊並將其設置爲使用數據綁定項目,並將其設置爲與我的datagrid視圖相同的數據源。然後我爲我的顯示成員選擇了EmployeeID。

datagrid視圖將加載得很好,並調出每一個訂單。 employeeID組合框將加載多個ID,並且存在重複項,因爲ID可以與單獨的訂單關聯。如果我選擇一個ID,它將隔離與ID關聯的訂單。這是我卡住的地方。

我沒有太多的代碼來顯示的,因爲這是編程方式(拖放),但我可以告訴你什麼上前:

Public Class EmployeeOrdersForm 

Private Sub EmployeeOrdersForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    'TODO: This line of code loads data into the 'NORTHWNDDataSet.Employees' table. You can move, or remove it, as needed. 
    Me.EmployeesTableAdapter.Fill(Me.NORTHWNDDataSet.Employees) 
    'TODO: This line of code loads data into the 'NORTHWNDDataSet.Employees' table. You can move, or remove it, as needed. 
    Me.EmployeesTableAdapter.Fill(Me.NORTHWNDDataSet.Employees) 
    'TODO: This line of code loads data into the 'NORTHWNDDataSet.Employees' table. You can move, or remove it, as needed. 
    Me.EmployeesTableAdapter.Fill(Me.NORTHWNDDataSet.Employees) 
    'TODO: This line of code loads data into the 'NORTHWNDDataSet.Order_Details' table. You can move, or remove it, as needed. 
    Me.OrdersTableAdapter.Fill(Me.NORTHWNDDataSet.Orders) 

End Sub 


Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick 

End Sub 


Private Sub EmployeeIDComboBoxToolStripLabel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 

End Sub 

末級

可有人點我在正確的方向?是否可以對組合框進行排序,這樣我就可以只顯示一次employeeID,然後點擊按順序排序呢?

謝謝

Ĵ

+0

僱員cbo的最終目的是什麼?它是否充當過濾器 - 當您從中選擇#6時,只顯示您的訂單?爲什麼要填充EmployeesTableAdapter 3次?典型地,僱員ID不顯示,因爲一個人的DB ID是什麼,真的不需要關心他們。相反,將ID和名稱放入數據源並顯示名稱。他們選擇姓名,但是你的代碼實際上使用ID來表示任何事情。 – Plutonix

+0

@Plutonix用戶可以從組合框中選擇一個employeeID,然後它將進行排序並加載員工所做的銷售。 我沒有意識到我填充了3次。這個項目讓我很頭疼。我想我可以刪除一些行。 –

+0

當你像這樣綁定一個組合框時,你實際上存儲了DataRowView對象,YOu可以設置DisplayMember來顯示名字,並將ValueMember設置爲你的代碼使用的ID。此外,您不僅限於使用表格及其列。由於它聽起來像statis,所以你可以將First和LastName Adn ID加載到myEmp的List中,將這些放在cbo中,以便Emp.FirstName&「」&Emp.LastName顯示,並仍然使用Emp.ID來過濾訂單名單。你的問題非常廣泛,但這應該給你一些啓動。 – Plutonix

回答

0

這個心不是官方的答案,但我能在書中找到通過散步。它仍然有錯誤,但我想這比沒有好。