김혜주 님, 안녕하세요.
그레이프시티입니다.
문의하신 사항에 대하여 아래와 같이 답변 드립니다.
가장 왼쪽의 ColumnIndex와 가장 위쪽의 RowIndex는 각각 GetViewportLeftColumn 메서드와 GetViewportTopRow 메서드를 사용하여 찾을 수 있습니다.
아래 샘플 코드를 참고하여주시기 바랍니다.
fpSpread1.CellClick += FpSpread1_CellClick;
private void FpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
int leftColumn = fpSpread1.GetViewportLeftColumn(fpSpread1.GetActiveColumnViewportIndex());
int topRow = fpSpread1.GetViewportTopRow(fpSpread1.GetActiveRowViewportIndex());
fpSpread2.SetViewportLeftColumn(fpSpread2.GetActiveColumnViewportIndex(), leftColumn);
fpSpread2.SetViewportTopRow(fpSpread2.GetActiveRowViewportIndex(), topRow);
}
2. LeftChange 이벤트와 TopChange 이벤트를 활용하는 방법
Left/TopChange 이벤트와 함께, 말씀하신 SetViewportLeftColumn 및 SetViewportTopRow 메서드를 사용하여 원하시는 기능을 구현하실 수 있습니다.
아래 샘플 코드를 참고하여주시기 바랍니다.
fpSpread1.LeftChange += FpSpread1_LeftChange;
fpSpread1.TopChange += FpSpread1_TopChange;
private void FpSpread1_TopChange(object sender, FarPoint.Win.Spread.TopChangeEventArgs e)
{
fpSpread2.SetViewportTopRow(fpSpread2.GetActiveRowViewportIndex(), e.NewTop);
}
private void FpSpread1_LeftChange(object sender, FarPoint.Win.Spread.LeftChangeEventArgs e)
{
fpSpread2.SetViewportLeftColumn(fpSpread2.GetActiveColumnViewportIndex(), e.NewLeft);
}
샘플 코드에서는 하나의 스프레드에 대해서만 이벤트를 설정하였으므로, 필요하신 경우 코드를 일부 수정하여(스프레드 이름) 두 스프레드 모두에 이벤트를 설정해주시기 바랍니다.
추가로 궁금하신 사항이 있을 경우, 문의주시기 바랍니다.
감사합니다.
그레이프시티 드림