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

그리드 셀 데이터 수정 후 Add Row > Q&A | 토론

본문 바로가기

Wijmo

Q&A | 토론

PureJS 그리드 셀 데이터 수정 후 Add Row

페이지 정보

작성자 장도리 작성일 2024-04-09 10:41 조회 54회 댓글 0건
제품 버전 : 5.20232.939
컨트롤 이름 : grid

본문


 

위 화면과 같이 셀을 선택하고 Add 버튼을 클릭하면 하단에 새로운 행이 생성되도록 하였습니다. Add 버튼의 코드는 아래와 같습니다.

detailGrid.collectionView.sourceCollection.splice(this.detailRowIndex + 1, 0, {status:'U'});
detailGrid.collectionView.refresh();


하지만 셀을 수정한 직후에 셀이 선택이 되어 있는 도중 Add 버튼을 클릭하게 되면 추가된 행이 나타나지 않고 있다가


다른 행의 셀을 클릭해야 Add 버튼으로 추가했던 행들이 한번에 보여지게 됩니다.

(같은 행의 다른 셀을 클릭할 경우에도 추가한 행이 보이지 않았습니다.)


셀 수정의 관련된 코드는

beginningEdit에서 행에 Class를 적용하는 것만 사용중입니다.

beginningEdit : (s,e) => {
const row = s.rows[e.row];
row.cssClass = 'update-row'; }


이에 따른 도움을 받고 싶습니다.


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

댓글목록

등록된 댓글이 없습니다.

3 답변

PureJS Re: 그리드 셀 데이터 수정 후 Add Row

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

페이지 정보

작성자 MESCIUS루시 작성일 2024-04-11 09:45 댓글 0건

본문

안녕하세요 메시어스입니다.


셀 데이터 수정 후, 행 추가와 관련하여 현재 문의하신 현상은 저희 쪽에서 재현이 되지 않아 정확한 원인 파악이 어려운 상황입니다. 관련하여 저희 쪽으로 재현 가능한 샘플을 공유해주신다면 재현 및 디버깅 후 안내드리겠습니다. 샘플의 경우, HTML 파일을 zip으로 전환하여 첨부해주시면 됩니다.


더불어 이전에 안내드린 것과 같이 편집한 상태(beginningEdit, pastedCell.. 등)에 따른 CSS class를 설정하기 위해서는 formatItem 이벤트를 적용해주셔야 합니다. 관련 데모를 공유드리오니 참고 부탁드립니다.


- 수정 강조 데모


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

PureJS Re: 그리드 셀 데이터 수정 후 Add Row

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

페이지 정보

작성자 장도리 작성일 2024-04-12 14:44 댓글 0건

본문

cssClass 적용 부분은 문제없이 잘되어서 감사드립니다.


위의 추가적인 설명으로 현상을 좀 더 자세히 설명드립니다.

코드는 그리드 생성 외 추가한 부분은


클릭 시 rowIndex를 추출하는 이벤트와

theGrid.hostElement.addEventListener("click",  (e) => {
let ht = theGrid.hitTest(e);
selectRowIndex = ht.row;
})

Add 버튼 클릭 시

theGrid.collectionView.sourceCollection.splice(selectRowIndex + 1, 0, {status:'U'});
theGrid.collectionView.refresh();

로 추가행을 생성하는 것입니다. 


원하는 방향은 어떤 cell이 클릭되었을때 Add 버튼을 클릭하게 되면 해당 cell 아래 신규 row가 생성되는 것입니다. 

(단순 선택 후 Add를 클릭 시엔 정상적으로 동작합니다.)


1acc8ea0d1bf4f9fd13f0f0cecc692e7_1712899498_9819.png
위는 Picklist 데이터를 Draft -> InProgress로 변경한 직 후 상황입니다.

beginningEdit로 cssClass가 활성화 되어 있고 변경한 Cell이 선택이 되어 있습니다.


현 상태에서 Add 버튼을 클릭을 4번을 했음에도 추가행이 생성되는 모습이 보이지 않습니다.


1acc8ea0d1bf4f9fd13f0f0cecc692e7_1712899500_7395.png
 

위의 상태에서 다른 행을 클릭할 시 Add버튼을 클릭한 횟수만큼 4개의 row가 갑작스레 등장하게 됩니다.


혹시 위와 같은 현상이 일어나지 않는건지 죄송하지만 다시 한번 확인부탁드립니다.

코드가 필요하다면 현재 개발중인 부분에 변수가 많아서 해당 부분을 제거하고 올려보도록 하겠습니다.

댓글목록

등록된 댓글이 없습니다.

PureJS Re: 그리드 셀 데이터 수정 후 Add Row

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

페이지 정보

작성자 MESCIUS루시 작성일 2024-04-15 11:09 댓글 0건

본문

안녕하세요 메시어스입니다.


문의하신 내용과 관련하여 디테일한 내용 공유 감사합니다.


공유해주신 내용으로 확인했을 때, 안타깝게도 행 자체가 삽입이 되지 않는 현상은 저희 쪽에서 재현이 되지 않고 있습니다. 


다만 dataMap의 dropdown 버튼 클릭 시, 그리드의 hostElement가 아닌 glyph 아이콘이 인식되어 click 이벤트 내에서 행의 인덱스가 업데이트되지 않아 원하는 지점에 행이 삽입되지 않는 현상이 파악되었습니다.


이를 해결하기 위해서는 아래 코드와 같이 hitTest 메서드 외에 현재 선택된 행의 인덱스를 가져오기 위해 그리드의 현재 선택된 행 정보를 가져오는 selectedRows를 이용하여 행의 index 속성을 적용 및 구현해보시기 바랍니다.


// add 버튼 클릭 시
  document.getElementById('btn').addEventListener('click', function () {
    let clickedRowIdx = theGrid.selectedRows[0].index;
    theGrid.collectionView.sourceCollection.splice(clickedRowIdx + 1, 0, {id:1000});
    theGrid.collectionView.refresh();
  });

행 추가 현상과 관련하여 아래 기본 wijmo 샘플을 공유드리오니 저희 쪽으로 재현 가능한 샘플을 공유해주신다면 재현 및 디버깅 후 안내드리겠습니다.


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

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