가능한 가격을 표시하는 콤보 상자 열이있는 DataGridView가 있는데 특정 행과 관련된 가격 만 표시하고 싶습니다.DataGridView, 데이터 바인딩 및 콤보 상자 필터링
자세한 내용은 2 개의 테이블이 채워진 (SQL Server 2005 데이터베이스에서 실행되는 저장 프로 시저에 의해 제공되는) 데이터 집합을 반환하는 클래스 메서드가 있다고 가정 해 보겠습니다.
첫 번째 테이블에는 Order Details 행이 포함되어 있고 두 번째 테이블에는 각 제품에 대해 유효한 가격이 나와 있습니다.
기본적으로 데이터 세트의 내 DataTables는 다음과 같습니다. 데이터 세트에서 내 가격 테이블에
OrderDetails
ProductType | ProductID | Qty | SelectedPrice |
DairyProduct | Milk | 5 | 5.50 |
Fruit | Orange | 7 | 6.90 |
등등 ...
, 나는 주문일 모든 제품에 대한 유효한 모든 가격이있다.
Prices
ProductType | ProductID | Price |
DairyProduct | Milk | 5.50 |
DairyProduct | Milk | 6.90 |
DairyProduct | Milk | 7.90 |
Fruits | Orange | 6.90 |
Fruits | Orange | 4.50 |
등등 ...
나는 사용자가 수정해야하는 DataGridView에, 내 OrderDetails의 테이블을 결합하고있다.
DataGridView의 가격 열에 데이터 세트의 두 번째 테이블 가격을 표시하고 싶습니다.
나는 그것을 할 수 있었고 이제는 각 행에 대해 콤보 상자가 있지만 ComboBox는 내 가격 테이블의 모든 가격을 표시하고 있으며 내가 원하는 것은 가격 만 표시하는 것입니다. 그 특정 제품. 예를 들어, 사용자가 우유 행에서 DataGridView를 클릭하면 모든 우유 가격이 아닌 우유 가격 만 표시됩니다.
나는 그것을 달성하는 방법을 모르겠습니다. 포인터 또는 예제가 있습니까?
미리 감사드립니다.
저는 VS 2008, C# 및 WinForms에서 개발 중입니다.
각 행에 대해 콤보 상자를 만드는 데 사용할 코드를 게시 할 수 있습니까? 그것은 필터링해야 할 때 변경해야하는 코드입니다. 코드가 크게 도움이 될 것입니다. – InSane
DataGridViewComboBoxColumn을 만들고 dataGridViewInstance.Columns.Add 메서드를 사용하여 DataGridViewComboBoxColumn을 추가하고이 열을 DataSource, ValueMember 및 DisplayMembers 속성을 사용하여 데이터 세트 테이블에 바인딩하는 것은 복잡하지 않습니다. –