WinForms윈폼 셀선택시 이벤트 질문
페이지 정보
작성자 달빛조각사 작성일 2023-11-07 11:41 조회 99회 댓글 0건본문
관련링크
안녕하세요
셀을 선택하면 셀 내용을 가지고 조회 하여 다른 컨트롤에 표시하고 있습니다.
이때 조회 시간이 4초 정도 걸리는데
셀 선택시 선택 셀 태두리를 표시하게 되어 있는데 조회가 끝나고 테두리를 표시하고 있어
문제가 발생하고 있습니다.
먼저 테두리를 표시하고 조회를 했으면 합니다.
물론
-- SPread 셀 클릭시
MCControl.SetSpread_DisplayRowSelection(fpSpread1, false, _TABLE_PRV_INDEX); //이전셀 표시 없애기
MCControl.SetSpread_DisplayRowSelection(fpSpread1, true, _TABLE_INDEX); //선택셀 표시하기
DislpaySelectionRowValue(_TABLE_INDEX);// 조회
-------------------------------------------------------------------------------------
//셀 태두리 표시
public static void SetSpread_DisplayRowSelection(FarPoint.Win.Spread.FpSpread Target, bool isSelected, int row, int column = 0, int rowCount = 1)
{
try
{
// 행 수가 1인 경우 처리 X
if(Target.Sheets[0].RowCount.Equals(1))
{
return;
}
// 표시 열 카운트
int visibleColumnCount = 0;
// 표시 열 카운트 체크
for (int i = 0; i < Target.Sheets[0].ColumnCount; i++)
{
// 해당 열이 표시된 경우 표시 열 카운트 +1
if(Target.Sheets[0].GetColumnVisible(i))
{
visibleColumnCount++;
}
}
// 셀 범위 - 행 인덱스, 열 인덱스, 행 카운트, 열 카운트
var cellRange = new FarPoint.Win.Spread.Model.CellRange(row, column, rowCount, visibleColumnCount);
// 경계선
FarPoint.Win.LineBorder lineBoreder = null;
// 선택 여부에 따라 경계선 색상 변경
if(isSelected) // 선택 O
{
// 셀 선택 처리
Target.Sheets[0].AddSelection(row, column, rowCount, visibleColumnCount);
// 선택 경계선 - 색상: Black, 두께: 3
lineBoreder = new FarPoint.Win.LineBorder(Color.Black, 3);
}
else // 미선택 X
{
// 선택 Clear
Target.Sheets[0].ClearSelection();
// 기본 경계선 - 색상: LightGray, 두께: 1
lineBoreder = new FarPoint.Win.LineBorder(Color.LightGray, 1) ;
}
// 경계선 세팅
Target.Sheets[0].SetOutlineBorder(cellRange, lineBoreder);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
댓글목록
등록된 댓글이 없습니다.