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

스프레드 2가지 질문 입니다 > Q&A | 토론

본문 바로가기

WinForms윈폼 스프레드 2가지 질문 입니다

페이지 정보

작성자 jaeho 작성일 2022-05-23 15:13 조회 1,634회 댓글 0건
제품 버전 : 14
컨트롤 이름 : Spred

본문

첨부파일

1. 스프레드 스트설정 \ 보호 클릭시 머리글이 음영으로 되는데, 

특정 Column만 ReadOnly 또는 Lock 설정하여 쓰기가 안되도록 하고 싶습니다

방법 부탁 드려요


2. 스프레드 입력맵 \ Enter 이벤트 Move To Column 에서 마지막 컬럼 엔터시 

다음줄 첫번째 컬럼으로 이동 방법 부탁 드립니다

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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 스프레드 2가지 질문 입니다

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

페이지 정보

작성자 GCK써니 작성일 2022-05-23 17:27 댓글 0건

본문

김재호 님, 안녕하세요.

그레이프시티입니다.


1. 스프레드 시트설정 / 보호 클릭시 머리글이 음영으로 되는데, 특정 Column만 ReadOnly 또는 Lock 설정하여 쓰기가 안되도록 하고 싶습니다.

 보호 클릭 시, 해당 시트의 Protect 속성값이 true로 설정됩니다. 이때, 기본적으로 시트의 머리글과 전체 셀의 Locked 속성값이 true로 설정되어있는 상태이므로, 머리글과 셀 전체가 편집 불가능하게 보호됩니다.

 따라서, 특정 컬럼에 대해서만 Lock을 설정하고 싶다면, 우선 머리글과 전체 셀에 대하여 Locked 속성값을 false로 변경한 후, 원하는 컬럼에 대해서만 Locked 속성값을 true로 설정해야합니다. 적용방법은 하기 코드를 참고하여주시기 바랍니다.

private void Form1_Load(object sender, EventArgs e)
{
    // 시트의 전체 컬럼과, 머리글에 대한 잠금 해제
    fpSpread1.Sheets[0].Columns[-1].Locked = false;
    fpSpread1.Sheets[0].ColumnHeader.Columns[-1].Locked = false;
    fpSpread1.Sheets[0].RowHeader.Rows[-1].Locked = false;

    // 컬럼A와 컬럼A의 머리글에 대한 잠금 설정
    fpSpread1.Sheets[0].Columns[0].Locked = true;
    fpSpread1.Sheets[0].ColumnHeader.Columns[0].Locked = true;

    // 시트보호 설정
    fpSpread1.Sheets[0].Protect = true;
}


2. 스프레드 입력맵 / Enter 이벤트 Move To Column 에서 마지막 컬럼 엔터시 다음줄 첫번째 컬럼으로 이동 방법 부탁 드립니다.

 하기 코드와 같이 CustomMoveToNextColumn을 정의하여, 마지막 컬럼에서 엔터키 입력시 다음 행의 첫번째 컬럼으로 이동하게 할 수 있습니다.

private void Form1_Load(object sender, EventArgs e)
{
    FarPoint.Win.Spread.InputMap im = fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
    FarPoint.Win.Spread.ActionMap am = fpSpread1.GetActionMap();
    im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), "CustomMoveToNextColumn");
    am.Put("CustomMoveToNextColumn", new CustomMoveToNextColumn());
}

internal class CustomMoveToNextColumn : FarPoint.Win.Spread.Action
{
    public override void PerformAction(object sender)
    {
        if (sender is FarPoint.Win.Spread.SpreadView)
        {
            FarPoint.Win.Spread.SpreadView spread = (FarPoint.Win.Spread.SpreadView)sender;
            FarPoint.Win.Spread.SheetView sheet = spread.Sheets[spread.ActiveSheetIndex];

            if (sheet.ActiveColumnIndex == sheet.ColumnCount - 1)
            {
                sheet.ActiveColumnIndex = 0;
                sheet.ActiveRowIndex += 1;
            }
            else
            {
                sheet.ActiveColumnIndex += 1;
            }
        }
    }
}

Spread.NET V14 - 액션 맵과 함께 입력 맵 사용 도움말 문서


추가로 궁금하신 사항이 있을 경우, 문의주시기 바랍니다.

감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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