C#

[C#] Form load 시 dataGridview 특정행으로 scroll 이동 안됨_해결

jjinthe 2024. 1. 27. 13:13
728x90

Form load 할 때 datagridview에 데이터 바인딩 후 

특정 데이터를 찾아 해당 데이터 위치로 화면 스크롤 하는 것을 구현하고 싶었다. 

 

form.Load 함수 사용 하여 해당 함수에서  datagridview에 데이터 바인딩 후 

 

dataGridView.FirstDisplayedScrollingRowIndex = 원하는 rowIndex;  -> 해당코드 추가

 

바인딩은 되는 거 같은데 스크롤이 안된다..... 

 

폼 로드 하고 컨트롤(dataGridview) 렌더링 이 안되있는 상태에 스크롤 이동을 하려고 하니까 안되는거 같아서  

폼 event 순서를 찾아 보았다. 

 

아래 사이트 참고 

http://www.acronet.kr/index.php?mid=python&document_srl=27206

 

프로그래밍 노트 - [C#] 폼 시작(로드) 이벤트순서 (Form Load vs Shown)

속 시원한 내용은 아직 발견하지 못했지만... 일단 현재까지 찾아본 결과는... 메뉴에서 프로그램을 클릭한 후 해당 프로그램이 화면에 나타나기 까지의 순서는 다음과 같다. 폼 시작 이벤트의

www.acronet.kr

 

근데 내가 원하는 컨트롤 렌더링 후 event 는 없는 거 같아서 

 

form event 하나하나 살펴보니 

내가 원하는게 있다 !!! 

https://learn.microsoft.com/ko-kr/dotnet/api/system.windows.forms.control.paint?view=windowsdesktop-8.0

 

Control.Paint 이벤트 (System.Windows.Forms)

컨트롤을 다시 그리면 발생합니다.

learn.microsoft.com

 

컨트롤을 그리면 실행되는 함수.. 

 

form.Paint(); 

해당 함수 안에서 바인딩 스크롤 이동 하니 잘된다. 

 

 

728x90
반응형