! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

셀선택시 이벤트 질문 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 셀선택시 이벤트 질문

페이지 정보

작성자 달빛조각사 작성일 2023-11-07 11:41 조회 99회 댓글 0건
제품 버전 : spread net_V12_12.0.20193.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);

            }

        }

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 셀선택시 이벤트 질문

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-09 14:27 댓글 0건

본문

달빛조각사 님, 안녕하세요.

메시어스입니다.


데이터를 조회하고 다른 컨트롤 표시하기 전에 Spread를 업데이트하도록 강제할 수 있습니다. 샘플 코드는 다음과 같습니다.

MCControl.SetSpread_DisplayRowSelection(fpSpread1, false, _TABLE_PRV_INDEX);
MCControl.SetSpread_DisplayRowSelection(fpSpread1, true, _TABLE_INDEX);
fpSpread1.Update();
DislpaySelectionRowValue(_TABLE_INDEX);


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.