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

전체 편집에 대한 문의 입니다. > Q&A | 토론

본문 바로가기

Wijmo

Q&A | 토론

PureJS 전체 편집에 대한 문의 입니다.

페이지 정보

작성자 설무린a 작성일 2022-10-25 21:07 조회 1,007회 댓글 4건
제품 버전 : 5.20213.824
컨트롤 이름 : wijmo grid

본문

그리드 외부에 버튼을 하나 만들어서 이벤트를 줄 예정인데요

readonly 상태에서 버튼 눌러야만 편집상태로 되도록 변화를 줄 예정이라서요

input 박스가 열린다던가 하는 액션이 없어서 고민중입니다.

인라인 편집처럼 input 박스가 나와서 편집되는 방식으로 

버튼 한번 눌러서 전체가 수정 가능 하도록 input 박스가 열리게 하고 싶은데

전체가 열리는 row 한 줄씩 말고 전체 row가 모두 편집상태로 input 박스가 열리도록 가능 할까요?


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

댓글목록

GCK다이애나님의 댓글

GCK다이애나 작성일

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

전체가 열리는 row 한 줄씩 말고 전체 row가 모두 편집상태로 input 박스가 열리도록 하는 방법에 대한 말씀은, 그리드 외부의 버튼 클릭 시 그리드 내에 존재하는 모든 셀에 셀의 값을 편집 할 수 있는 input 박스가 생성되게 하는 방법에 대한 것으로 이해하면 될까요?
정확한 답변을 드리기 위해 요청 드리며 확인 후, 회신하여 주시기 바랍니다.

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

aaaaaa213

설무린a님의 댓글의 댓글

설무린a 작성일

네 말씀하신대로 모든 셀에 값을 편집할 수 있는 input박스 생성에 대한 질문입니다. 

설무린a님의 댓글

설무린a 작성일

네 말씀하신대로 모든 셀에 값을 편집할 수 있는 input박스 생성에 대한 질문입니다. 

GCK다이애나님의 댓글

GCK다이애나 작성일

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

문의 주신 내용에 대해 현재 확인 중에 있으며, 확인 되는 대로 답변 드리도록 하겠습니다.
답변이 지연되어 죄송합니다.

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

1 답변

PureJS Re: 전체 편집에 대한 문의 입니다.

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

페이지 정보

작성자 GCK다이애나 작성일 2022-11-01 10:16 댓글 0건

본문

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


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

문의 주신 내용에 대해 답변 드립니다.

Input 컨트롤을 통해 편집 된 항목들을 배열 변수에 저장하는 사용자 정의 함수를 이용하여 FlexGrid 컨트롤 내의 모든 셀 값을 인라인 편집할 수 있습니다.

아래의 샘플을 참고해 보시기 바랍니다.

샘플은 다음과 같은 방법으로 구현되었습니다.

  1. '편집', '확인', '취소' 버튼과 FlexGrid 컨트롤을 생성하고 변수 edit를 선언합니다.
  2. FlexGrid 컨트롤의 formatItem 이벤트에 변수 edit 이 true의 값을 가지면 편집 중인 항목에 대한 Input 컨트롤을 생성하는 코드를 작성합니다.
  3. 아래 코드와 같이 FlexGrid 컨트롤의 Input 컨트롤을 통해 편집 된 항목들의 데이터를 변수 editedValues 에 저장하는 사용자 정의 함수 updatedEditVal 를 구현하고, 해당 함수를 FlexGrid 컨트롤의 updatingView 이벤트에 지정합니다.
    샘플에서는 67~94번 라인에서 확인해보실 수 있습니다.
    let editedValues = [];
    //
    function updatedEditVal() {
      if (currentEditItem.length > 0) {
        theGrid.columns.forEach(function (col) {
          var input = theGrid.hostElement.querySelectorAll('#' + col.binding);
          if (input.length > 0) {
            input.forEach((input,index) => {
              let row = input.getAttribute('row');
              var value = wijmo.changeType(input.value, col.dataType, col.format);
              let item = {
                index: row,
                binding: col.binding,
                value: value
              };
              if(editedValues.length == 0 || isExisting()){
                editedValues.push(item)
              }
              function isExisting(){
                let index = editedValues.findIndex(val => val.index == item.index && val.binding == item.binding && val.value == item.value)
                return index == -1 ? true : false;
              }
            })
          }
        });
      }
    }
    theGrid.updatingView.addHandler(updatedEditVal);
  4. '편집' 버튼의 클릭 이벤트에 변수 edit의 값을 true로 지정하는 코드를 작성합니다.
  5. '확인', '취소' 버튼의 클릭 이벤트에 변수 edit의 값을 false로 지정하는 코드를 작성합니다.
  6. '편집', '확인', '취소' 버튼의 각 클릭 이벤트에 editItem 메서드(편집을 시작하는 메서드), commitEdit 메서드(편집을 마치는 메서드), cancelEdit 메서드(편집을 취소하는 메서드) 를 호출하는 코드를 작성합니다.


- 인라인 편집 데모

- updatingView API 문서


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


감사합니다.


그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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