2012-07-24 3 views
0

나는 Company, Product 및 Inventory 테이블이 3 개인 C# 프로젝트에 연결된 데이터베이스가 있습니다. 인벤토리는 CompanyID, ProductID 및 Quantity를 나열합니다. Combobox1은 모든 companyID를 나열합니다. 하나를 선택하면 해당 CompanyID가있는 Inventory의 행만 표시하도록 listview1을 지정합니다.C#에서 테이블 필터링

//binding DB to memorycopy 
this.DBContext = new DBEntities(); 

listView1.ItemsSource = this.SupPartContext.SPs; 
GridViewColumn companyIDColumn = new GridViewColumn(); 
sNumColumn.Width = 90; 
sNumColumn.Header = "companyID"; 
sNumColumn.DisplayMemberBinding = new Binding("COMPANYID"); 

GridViewColumn ProductIDColumn = new GridViewColumn(); 
pNumColumn.Width = 90; 
pNumColumn.Header = "ProductID"; 
pNumColumn.DisplayMemberBinding = new Binding("PRODUCTID"); 
GridViewColumn quantityColumn = new GridViewColumn(); 
qtyColumn.Width = 90; 
qtyColumn.Header = "quantity"; 
qtyColumn.DisplayMemberBinding = new Binding("QUANTITY"); 
GridView newGridview = new GridView(); 
newGridview.Columns.Add(companyIDColumn); 
newGridview.Columns.Add(productIDColumn); 
newGridview.Columns.Add(quantityColumn); 

listView1.View = newGridview; 

도움이 되셨거나 올바른 방향으로 향한 점이 있어도 좋습니다. 시간 내 주셔서 감사합니다.

+0

WPF를 사용하고 있습니까? – Bernard

+0

@Bernard 예, WPF – user1547231

답변

0

코드를 작성하지 않고 목록보기를 자동으로 변경하려면 해당 목록보기가 자동으로 변경되도록하려는 것입니다. 그러나 콤보 상자 값이 다음 줄과 함께 변경 될 때 목록을 다시 바인딩하면 예상대로 목록이 필터링됩니다.

listView1.ItemsSource = this.SupPartContext.SPs.Where(sp => sp.CompanyID = {get the select company from the row here}) 
+0

"Delegate 'System.Func 이 1 개의 인수를 취하지 않음"을 포함하여 여러 가지 오류가 발생합니다. 전체 코드 행은 다음과 같습니다. listView1.ItemsSource = this.SupPartContext.SPs.Where (sp => sp.CompanyID = comboBoxGetList.SelectedItem); 오류 (Where ( – user1547231