2011-01-12 2 views
0

사용자가 입력 한 다음 데이터베이스에서 레코드를 선택하는 조건에 따라 검색을 담당하는 winform이 있습니다. 검색 양식에는 결과를 보여주는 데이터 격자보기가 있습니다. 검색 후 datagridview 행에 사용자 clikcs를 입력 한 다음 다른 양식 (예 : frmShowDetails)이 표시됩니다.검색 양식의 DataGridview 행을 클릭 한 후 어떻게 winform을 제공합니까?

제 질문은 frmShowDetails를 표시 할 때 선택한 표의 ID를 frmShowDetails로 보내서 .net으로 데이터를 표시하도록 제안하는 것이 무엇입니까? 폼 프로퍼티 나 폼 생성자만으로 설정하는 private 변수를 사용합니까?

답변

0

생성자의 매개 변수를 frmShowDetails에 전달합니다.

1

DataRow의 id를 매개 변수로 보내면 세부 정보를 얻기 위해 DB를 다시 호출해야합니다. 대신 ShowDetailsForm에 표시 될 데이터를 보유하는 Type을 작성하십시오. Form을 표시하기 전에 Type으로 데이터를 채우고 ShowDetailsForm ctor에 전달합니다.

ProductDetails productDetails = new ProductDetails { Name = "ProductA" }; 
ShowDetailsForm showDetailsForm = new ShowDetailsForm(productDetails); 
showDetailsForm.ShowDialog(this); 
0

일반적으로 양식 속성을 사용합니다. ctor를 통해 데이터를 전달하는 것은 좋은 결정이 아니라는 느낌이 들지만 잘못된 것일 수 있습니다.

관련 문제