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

그리드 내 콤보박스 문의 드립니다. > Q&A | 토론

본문 바로가기

PureJS 그리드 내 콤보박스 문의 드립니다.

페이지 정보

작성자 그리드마스터하기 작성일 2021-01-16 20:43 조회 4,278회 댓글 1건
제품 버전 : flex grid 5
컨트롤 이름 : CollectionView

본문

첨부파일

안녕하세요.


그리드 내 콤보박스 문의 드립니다.

문의 1.

첨부드린 스샷보시면

콤보박스에서 "유"를 선택 시 1번 항목과 2번 항목의 합산한 값을 3번항목에 계산하여 노출 시키고자 합니다.

유, 무는 DB데이터에서 넘겨 받지만 데이터가 없는경우엔 '무'를 노출 시킵니다. '유'가 선택되어있는상태에서 1번 항목과 2번항목을 입력하면 3번항목에 자동 합산되어 노출되게 하고 싶습니다.


문의 2.

각열의 합계를 bottom 부분에 노출 시키고 싶습니다.


미리 감사 드립니다.

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

댓글목록

GCK루시님의 댓글

GCK루시 작성일

안녕하세요 그레이프시티입니다. Wijmo 2020 v3 버전이 새롭게 출시되었습니다. 구매하신 제품이 예를 들어 2020 v1 버전이시면 2021 v1 버전까지 사용할 수 있는 권한이 이미 소유하신 라이선스에 포함되어 있으며 자유롭게 사용하실 수 있습니다. wijmo 2020 v3 버전에 대한 새로운 기능이 궁금하시다면 아래 링크를 방문하셔서 확인하여 주시기 바랍니다. https://www.grapecity.co.kr/wijmojs/whatsnew 다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다. 감사합니다. 그레이프시티 드림 * 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.

4 답변

PureJS Re: 그리드 내 콤보박스 문의 드립니다.

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

페이지 정보

작성자 톡톡 작성일 2021-01-17 21:51 댓글 1건

본문

1번

https://www.grapecity.com/wijmo/demos/Grid/ImportExportPrint/PDF/CustomizeCellRendering#demo_source_name 

위 링크에서 formatItem 부분을 참조 하세요 브레이크 거시고 

값들 참조하시면 감이 오실겁니다.

기준셀 잡으시고 A + B = C 하시면 됩니다.


2번

그리드 설정시 columns binding설정에서 aggregate: 'Sum' 을 추가 하시고


아래처럼 추가 설정 하시면 됩니다.

grid.columnFooters.rows.push(new wijmo.grid.GroupRow());


https://www.grapecity.com/wijmo/api/classes/wijmo_grid.column.html#aggregate 

위 링크 확인 하시면 되겠습니다. 여러가지? 연산 지원됩니다.

댓글목록

그리드마스터하기님의 댓글

그리드마스터하기 작성일

안녕하세요. 위의 댓글은 감사합니다. 하지만 원하는 답변은 아닌듯 합니다. 1. 콤보선택시 이벤트를 캐치하여 A와 B열의 값을 C열에 대입하려합니다. 알려주신 방법은 도무지 이해가 가지않습니다. 제가 시간이 많아서 이곳에 글을 남긴게 아니라 원하는 예제를 찾기 힘들어 삽질하다가 질문을 남기는 겁니다. 좀더 자세한 답변이 있거나 예제가 있으면 알려주세요. 링크주신 예제의 부분은 PDF나 export하는 부분인거 같은데 제 소스에 해당부분을 짜깁기하여 넣으려 했으나 오류가 납니다. args 부분도 뭘 넘겨야 할지도 모르겠군요.. theGrid = new wijmo.grid.FlexGrid('#theGrid', { headersVisibility: 'Column', itemsSource: view, imeEnabled: true, autoGenerateColumns: false, columns: [ { binding: 'rowNum', header: '연번', width: 80, isReadOnly: true}, ... ... ... { binding: 'adminMemo', header: '비고', minWidth: 150}, { binding: 'closedReasonMemo', header: '휴관여부'}, { binding: 'openReasonMemo', header: '미휴관시운영방법', minWidth: 150}, { binding: 'homepageYn', header: '홈페이지유무', editor: new wijmo.input.ComboBox(document.createElement('div'), { itemsSource: '유,무'.split(','), selectedIndexChanged: function (s, e) { console.log("selectedValue===> : "+s.selectedValue); } }) }, { binding: 'lastMonWebVisitCnt', header: '전월까지홈페이지방문객', format: 'n'}, { binding: 'currMonWebVisitCnt', header: '당월홈페이지방문객', format: 'n'}, .. .. 그리고 앞서 ime 설정 관련하여 댓글주신부분 정말 감사드립니다.

PureJS Re: 그리드 내 콤보박스 문의 드립니다.

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

페이지 정보

작성자 톡톡 작성일 2021-01-18 22:49 댓글 0건

본문

현재 버전은 저렇게 사용 하나보네요


저는 다음처럼 저리 했었습니다.

{ binding: 'homepageYn', header: '홈페이지유무', dataMap: ['유', '무'] } <= dataMap을 사용 합니다.


formatItem: function (s, e) {

if (e.panel !== s.cells)

        return;


//e.col, e.row <== dom을 그리고 있는 현재 위치입니다.


let item = s.rows[e.row].dataItem;       <=현재 row의 전체 데이터 입니다.

let value = s.getCellData(e.row, e.col);   <=현재 셀의치의 값 입니다.


else if (s.columns[e.col].binding === 'homepageYn') {

if(value === '유') {

let aValue = s.getCellData(e.row, e.col + 1);

let bValue = s.getCellData(e.row, e.col + 2);

let sumValue = aValue + bValue;

        s.setCellData(e.row, e.col + 3, sumValue);


wijmo.toggleClass(e.cell, 'sum-css', sumValue > 0);

}

}

}


//css

.sum-css{

    color: red;

    background: black;

    font-weight: bold;

}


방법이야 여러가지 있을 수 있겠지만

지금은 뭐~~ 다른 방법이 있나보네요

위 코드는 테스트 해보지 않았어요^^



댓글목록

등록된 댓글이 없습니다.

PureJS Re: 그리드 내 콤보박스 문의 드립니다.

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

페이지 정보

작성자 GCK루시 작성일 2021-01-20 13:40 댓글 0건

본문

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




1번 문의)


문의 주신 사항은 현재 확인중에 있으며 확인이 끝나는대로 답변 드리도록 하겠습니다.


답변이 늦어지는 점 죄송드립니다.




2번 문의) 


각 열의 합계를 column의 aggregate 속성에 Sum을 할당하여 열을 추가해주시면 됩니다.


다만 추가적으로 원하시는 각 열의 합계에 대한 총계를 구하시는 기능은 2020v3에 추가되었으며 현재 한국에서 공식적으로 릴리즈된 버전은 2020v2입니다.


버전 업데이트 되는 건은 확인되는 대로 안내드려 도와드릴 수 있도록 하겠습니다.


다만, 해당 코드를 참고용으로 첨부하오니 확인하여 주시기 바랍니다.








[Aggregate]


https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_grid.column.html#aggregate


관련 도움말 문서를 전달 드리오니 참고 부탁 드립니다.





다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다.




감사합니다. 


그레이프시티 드림 






* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.


댓글목록

등록된 댓글이 없습니다.

PureJS Re: 그리드 내 콤보박스 문의 드립니다.

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

페이지 정보

작성자 GCK루시 작성일 2021-01-26 14:46 댓글 0건

본문

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


1번 문의와 관련하여 cellEditEnded 이벤트를 사용하여 값을 업데이트 해주셔야 합니다. 

먼저, 로딩이 되었을 때, 조건에 따라 합계 값을 계산하기 위해서 collectionView 안에 계산 필드를 생성하시고 조건이 맞을 때 값을 반환하도록 설정하시면 됩니다. 아래 코드를 참고하기바랍니다.

  view.calculatedFields = {
    total: function (dataItem) {
      if (dataItem.isCheck === "check"){
        return dataItem.maths + dataItem.english;
      }  
    },
    mathVal: function(dataItem){
      if (dataItem.isCheck=== "check"){
        return dataItem.maths;
      }
    },
   englishVal: function(dataItem){
      if (dataItem.isCheck=== "check"){
        return dataItem.english;
      }
    },
  };


또한 위 코드를 dropdown 값이 바뀔 때마다(값 편집이 끝났을 때) 발생되는 cellEditEnded 이벤트에서 사용하여 값을 업데이트 할 수 있습니다.





[cellEditEnded]

https://demo.grapecity.co.kr/wijmo/api/classes/wijmo_grid.flexgrid.html#celleditended


샘플 및 도움말 문서를 함께 전달 드리오니 확인하여 주시기 바랍니다.


다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다.



감사합니다. 


그레이프시티 드림 



* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.


댓글목록

등록된 댓글이 없습니다.

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