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

로우헤더를 멀티로 선택해서 멀티 선택한 로우를 삭제하고 싶습니다. > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 로우헤더를 멀티로 선택해서 멀티 선택한 로우를 삭제하고 싶습니다.

페이지 정보

작성자 iroon 작성일 2023-11-06 21:43 조회 136회 댓글 0건
제품 버전 : Spread.net 16.1.20231.0
컨트롤 이름 : fpspread

본문

전에 비슷한 질문을 한적이 있었는데 단일 셀렉트로는 어떻게 해결했는데


이번엔 멀티 셀렉트의 문제 입니다.


C# 에서 사용하는 DataGridView 에서는 로우 헤더를 멀티로 클릭했을때


(물론 연속적인 선택 이외에도, 컨트롤키를 이용하여 연속하지 않은 로우도 멀티로 클릭했을때)


dGV.SelectedRows.Count 와 dGV.Rows[i].Selected 함수를 사용하여 쉽게


멀티로 선택된 로우를 컨트롤 했습니다.


Spread.NET 에서도 이런 개념은 있을 것 같은데 찾을 수가 없네요.


로우헤더를 멀티로 클릭했을때 쉽게 컨트롤 할 수 있는 함수가 있을까요?


셀이 아니라 Row나 Column의 선택 문제 입니다.




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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 로우헤더를 멀티로 선택해서 멀티 선택한 로우를 삭제하고 싶습니다.

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

페이지 정보

작성자 MESCIUS써니 작성일 2023-11-07 16:02 댓글 0건

본문

iroon 님, 안녕하세요.

그레이프시티입니다.


아쉽게도 멀티 선택된 로우를 삭제할 수 있는 직접적인 기능은 아직 지원되지 않는 기능입니다. 대신 적용해보실 수 있는 대안으로 아래 샘플 코드를 전달드리오니, 개발 시 참고하여주시기 바랍니다.

private void button1_Click(object sender, EventArgs e)
{
    int[] selectedRows = fpSpread1.ActiveSheet.GetSelections().Select(cellRange => cellRange.Row).ToArray();
    int[] selectedRowCounts = fpSpread1.ActiveSheet.GetSelections().Select(cellRange => cellRange.RowCount).ToArray();

    for (int i = 0; i < selectedRows.Length; i++)
    {
        // Selection(i)에서 선택된 행들을 삭제합니다.
        fpSpread1.ActiveSheet.Rows[selectedRows[i], selectedRows[i] + selectedRowCounts[i] - 1].Remove();

        // 만일 Selection(i)가 마지막 Selection이 아니라면,
        if(i + 1 < selectedRows.Length)
        {
            // Selection들의 RowIndex를 Selection(i)의 RowCount만큼 앞으로 이동합니다.
            if (selectedRows[i] < selectedRows[i + 1])
            {
                selectedRows = selectedRows.Select(rowIndex => rowIndex - selectedRowCounts[i]).ToArray();
            }
        }
    }

    fpSpread1.ActiveSheet.ClearSelection();
}


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

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