PC&웹/VS프로그래밍

C# DevExpress Grid - 선택 행, 스크롤 위치 저장 및 복구

Simulz™ 2023. 4. 7. 11:39
반응형

선택된 행 위치에 포커스 유지

int topRowIndex;
int focusedRowHandle;

// 위치 백업
void gridView1_클릭이벤트()
{
    topRowIndex = gridView1.TopRowIndex;
    focusedRowHandle = gridView1.FocusedRowHandle;
}

// 위치 복구
void gridView1_포커스복구()
{
    gridView1.FocusedRowHandle = focusedRowHandle;
    gridView1.TopRowIndex = topRowIndex;
}

FocusedRowChanged 이벤트로 포커스를 백업하고 복구하면 안 된다. 왜냐하면 저장할 때도 이벤트가 발생하고, 복구할 때도 이벤트가 발생하기 때문.

클릭, 더블클릭 등 사용자 UI 이벤트로 포커스를 백업하고, DataBinding 등으로 그리드 갱신 후에 복구를 하면 된다.

반응형