Angular 그리드 높이 조절
페이지 정보
작성자 111234 작성일 2023-11-02 17:48 조회 208회 댓글 0건본문
관련링크
그리드에 세로 스크롤이 생기지 않도록
그리드의 높이가 자동으로 조절될 수 있는 방법이 있는지 문의 드립니다.
현재 그리드에서는 아래와 같은 이벤트가 발생합니다.
1. splice() 신규 행 중간 삽입(중간에 삽입되는 행은 데이터가 세팅되어 삽입. 그리드는 autoRowHeights="true")
2. addNew() 신규 행 맨아래 추가 (행 추가 시 행의 기본 높이는 100)
3. 셀 데이터 편집 완료 (그리드는 autoRowHeights="true", 편집하는 컬럼은 multiLine="true")
4. 조회 후 그리드 데이터 세팅 ( this.data.sourceCollection = [{..}..]; )
위의 4가지 상황에서 그리드의 높이를 조절하여 스크롤이 생기지 않게 하고 싶습니다.
간략하게 적용된 그리드 소스입니다.
<wj-flex-grid #grid [style.height.px]="grid.cells.height < 500 ? 500 : grid.cells.height+10"></wj-flex-grid>
최소 높이(500)가 있고 최소 높이보다 행 높이의 합이 작으면 최소 높이로 설정하고,
행 높이의 합이 최소 높이보다 커지면, 그리드의 높이를 행 높이의 합+10으로 설정하고자 작성된 소스입니다.
소스를 이렇게 작성했을 때 결과적으로 스크롤은 생기지 않지만 위 4가지 경우 행의 높이가 변경되면 순간적으로 스크롤이 생겼다가 없어지면서 깜빡이는게 눈에 보입니다.
깜빡이는 것도 없이 자연스럽게 그리드의 높이를 변경하려면 어떻게 해야할까요
추가적으로, 그리드에 입력한 데이터의 텍스트 길이를 실시간으로 체크할 수 있는 방법이 있나요?
그리드의 컬럼은 한개이고, 사용자가 편집모드에서 입력하는 즉시(편집중인 상태에서) length를 체크하고
제한 길이를 넘어가면 더이상 텍스트를 입력할 수 없게 막고 싶습니다.
(텍스트 길이는 편집모드가 아닌 전체 행의 텍스트와 편집모드인 행의 입력중인 텍스트 길이의 합 )
구현은 가능한지 어느 이벤트에서 해당 기능을 구현할 수 있는지 가이드 요청 드립니다.
댓글목록
등록된 댓글이 없습니다.