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

dataMap 사용시 셀수정관련 > Q&A | 토론

본문 바로가기

PureJS dataMap 사용시 셀수정관련

페이지 정보

작성자 댄서왕 작성일 2023-04-04 09:17 조회 630회 댓글 2건
제품 버전 : 5.20221.857
컨트롤 이름 : flexGrid

본문

1fe1ba59f89e2899e1493284f6134e0a_1680567322_2474.jpg
 

수고가 많으십니다.

위 예시와 같이 type에 따라서 value의 값을 표현하는 방식이 다릅니다.

DB에 type이 'N' 일경우는 value는 문자형 숫자가 들어가있고 

type이 'N' 이 아닐경우는  value 값에 'OK' 또는 'NG' 라는 값이 들어가있습니다.

그래서 value 컬럼에 dataMap과 dataMapEditor를 사용하여 라디오버튼을 표현했고

type이 'N'이라면 formatItem을 사용하여 value값 본연의 문자형 숫자를 e.cell.textContent 에 넣어 위 이미지같이 만들어주는데 성공했습니다.


근데 문제는 radio 버튼은 선택이 잘되고 값 변경된것도 추적이 잘됩니다.

type이 N일경우 e.cell.textContent로 문자형 숫자값이 표현된 셀은 수정을 할수가 없다는 겁니다.

사용자가 셀 내용을 수정도 가능해야 하거든요.


dataMap사용시 수정안되게 막혀있는거 같은데 값을 수정가능토록 할수있는 방법은 없나요?


아래는 소스 첨부합니다.

let okng = [{ id: "OK", name: 'OK'},{ id: "NG", name: 'NG'}];
        let _okngMap = new wijmo.grid.DataMap(okng,'id','name');

        let testGrid = new wijmo.grid.FlexGrid("#testGrid",{
            columns:[
                {binding:'id', header:'id', width:55, align:'center',dataType:'String'},
                {binding:'name', header:'name', align:'center', width:100, dataType:'String'},
                {binding:'type', header:'type', align:'center', width:100, dataType:'String'},
                {binding:'value', header:'value', align:'center',width:200, dataType:'String',dataMap:_okngMap,dataMapEditor:'RadioButtons'}
            ]
        });
        testGrid.autoGenerateColumns = false;								
        let testCv = new wijmo.collections.CollectionView(null);
        testGrid.itemsSource = testCv;
        testCv.trackChanges =true;

        testGrid.formatItem.addHandler((s,e)=>{
            if(s.cells===e.panel && s.columns[e.col].binding==='value'){
               let type = e.panel.getCellData(e.row,'type',false);
               if(type=='N')   e.cell.textContent = e.panel.getCellData(e.row,'value',false);
            }
        });
        
        
        let data = [
            {"id":"AAA","name":"AAA","type":"N","value":"1.253"},
            {"id":"BBB","name":"BBB","type":"A","value":"OK"},
            {"id":"CCC","name":"CCC","type":"A","value":"NG"}
        ];
        testCv.sourceCollection = data;


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

댓글목록

GCK루시님의 댓글

GCK루시 작성일

안녕하세요 그레이프시티입니다.

현재 문의가 급증하여 순차적으로 답변 드리고 있습니다. 관련하여 업데이트가 되는 대로 안내 드릴 수 있도록 하겠습니다. 답변이 지연되어 죄송합니다.

감사합니다.
그레이프시티 드림

댄서왕님의 댓글

댄서왕 작성일

수고가 많으습니다.
많이 바쁘시겠지만 너무 오래 걸리네요..

답변만 손꼽아 기다리고 있습니다. 
업데이트 부탁드립니다.

1 답변

PureJS Re: dataMap 사용시 셀수정관련

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

페이지 정보

작성자 GCK루시 작성일 2023-04-11 10:32 댓글 2건

본문

안녕하세요 그레이프시티입니다. 


먼저 문의 답변이 지연되어 죄송합니다.


해당 이슈를 해결하기 위해서는 FlexGrid 셀이 edit 모드가 되었을 때 발생하는 beginningEdit 이벤트를 사용하여 작업을 수행할 수 있습니다. 조건이 충족된 경우에 value 열의 셀을 수정할 수 있도록 editor를 설정해줍니다. 더불어 셀 편집 모드가 끝날 때 발생하는 cellEditEnding 이벤트를 사용하여 그리드의 데이터 소스에 입력된 데이터를 설정해주시길 바랍니다.



- beginningEdit API 문서

- cellEditEnding API 문서 


API 문서를 공유 드리오니 다른 궁금한 점이 생기면 문의 주시기 바랍니다.


감사합니다.

그레이프시티 드림

댓글목록

댄서왕님의 댓글

댄서왕 작성일

바쁘신데도 불구하고 정말 감사합니다.
덕분에 잘 해결했습니다.

다시 한번 감사합니다.~ ^^

점프수님의 댓글

점프수 작성일

이 상태에서 숫자 타입으로 바뀐 셀에  복사 한 내용을 붙여넣을 수가 없네요..

혹시 이 부분도 추가 지원해주실 수있으신가요?

아래와 같이 OK/ NG 만 클립보드 복사가 됩니다.


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