나는 txtTranNo, txtCustCode, dtbDate, txtRemarks, txtTotalAmount를 가지며 dtgDetail이라는 이름의 datagridview를 가진 frmTransaction이라는 폼을 가지고있다.datagridview 콤보 상자 열이 데이터베이스에 커밋 할 때 속도에 영향을 줍니까?
dtgDetail에는 cTranNo, nLineID, cProductID, nQty, nPrice 및 nAmount 열이 있습니다.
cProductID는 datamember cProduct 및 displaymember cDescription이있는 콤보 상자 열로, 실행 중에는 제품 코드 대신 제품 이름이 표시됩니다.
하지만 내 제품에는 2000 개의 레코드가 있으며 양식을로드 할 때 속도가 매우 느립니다. 내 데이터베이스에 저장/커밋 할 때도 느립니다.
cProduct 열은 내 양식의 속도와 관련이 있다고 생각합니다. 사실입니까? 어떻게 속도를 높일 수 있습니까?
편집
내가 코드를 표시 할 수 있습니다,하지만 덜 혼란 난 그냥 내 코드가 작동하는 방법에 대해 설명한다면. 내 디자인 타임에, 내 datagridview 빈 열이 있습니다. datagridview의 이름은 바인딩 될 테이블의 이름이기도하며, 실행할 때 테이블의 스키마를 기반으로 자동 바인딩되는 열을 생성합니다. 필드에 콤보 박스 열 또는 일반 텍스트 상자가 있는지 여부를 알려주는 플래그도 있습니다. 콤보 상자 열인 경우 SQL 스크립트를 생성하고 결과를 실행하여 콤보 상자의 데이터 소스가 될 데이터 테이블에 저장합니다. 콤보 박스 열의 datamember 및 displaymember도 플래그에 의해 결정됩니다.
내 콤보 상자 열의 데이터 소스에 내 스크립트에 조건을 넣으면 안됩니다.
편집 - 12-05-12 나는 DataGridView를 콤보 상자의 컬럼에 바인딩에 내 SQL 데이터 소스를 필터링하려고 ... 그리고 나는 내 양식을 단축하는 데 도움이 말할 것입니다. 내 문제는 지금은 콤보 상자에 포함되지 않습니다 내 datagridview 새 레코드를 추가 할 때입니다. 예를 들어,이 스크립트를 내 DataGridview에 바인딩 할 것입니다. "제품에서 ID를 선택하십시오. 여기서 ID는 (1,2,3,4,5)입니다." IData = 6 인 DataGridview에 새 레코드/항목/제품을 삽입하면 설명이 표시되지 않습니다. datagridview ...
도움말 : '( – illumi
데이터를 바인딩하는 방법을 보여주는 코드를 제공해야합니다. DataGridView를 너무 자주 바인딩하는 호출을하고있을 가능성이 있습니다. – Origin
datagridview를 사용하여 SQL 테이블을 최적화하는 것이 도움이 될 수 있음을 발견했습니다. – redhotspike