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

rownumber와 페이지 영역을 설정하고싶어요 > Q&A | 토론

본문 바로가기

ActiveReportsJS

Q&A | 토론 - ReactJS

ReactJS rownumber와 페이지 영역을 설정하고싶어요

페이지 정보

작성자 왕초보 작성일 2023-08-22 12:47 조회 386회 댓글 0건
제품 버전 : 4.0.2

본문


질문 1. bl_no을 기준으로 데이터가 2개,4개 각각 이렇게 있다면 rowNumber가 [1,2],[1,2,3,4]이렇게 나오게 하고 싶습니다. 이해를 위해 이미지를 첨부하겠습니다.



7931171db2cb0a7c0881796ac10e3b99_1692692262_0912.png
 

질문 2. 고정된 페이지를 사용하는데 영역을 설정하니 저렇게 다 보입니다. 

BL_NO을 기준을 각 데이터를 10개 단위로 페이지에 보이고 싶습니다.




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

댓글목록

등록된 댓글이 없습니다.

5 답변

ReactJS Re: rownumber와 페이지 영역을 설정하고싶어요

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

페이지 정보

작성자 GCK폴 작성일 2023-08-23 06:31 댓글 1건

본문

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


조금더 설명이 필요할듯 합니다. 

일단 AA와 BB테이블이 다른 페이지에 나오게 하고 싶다는 것으로 이해했습니다. 

그러면 AA와 BB테이블은 딱 1개씩 일까요?

예를 들면 무조건 AA테이블 그리고 다음페이지에 BB테이블 이렇게 나오고 끝인 것일지 아니면 AA, BB 다시 AA BB 이렇게 반복이실지 궁금 합니다.

그리고 만일 반복이라면 AA BB  AA BB 순서를 원하시는지 아니면 AA AA AA BB BB BB 를 원하시는지도 정의가 필요해 보입니다.


그리고 AA테이블과 BB테이블의 관계는 무엇인가요? 아무런 관계가 없는 독립적인 2개의 테이블 일까요?


조금 더 설명을 부탁 드립니다.


감사합니다.

그레이프시티 드림

댓글목록

왕초보님의 댓글

왕초보 작성일

우선적으로  rowNumber을 각 테이블 마다로 카운팅되게 할 수 있을까요?

ReactJS Re: rownumber와 페이지 영역을 설정하고싶어요

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

페이지 정보

작성자 왕초보 작성일 2023-08-23 17:15 댓글 0건

본문

 AA와 BB테이블은 딱 1개씩 일까요? 


답변: 각 테이블 1개씩 이지만 각 테이블 당 데이터를 한 페이지에 10개씩 넣고 싶기에 관련 데이터가 10개가 넘어가면 다음 페이지에 나머지를 출력하고 싶습니다.


 만일 반복이라면 AA BB  AA BB 순서를 원하시는지 아니면 AA AA AA BB BB BB 를 원하시는지도 정의가 필요해 보입니다. 


답변: 네 위의 답변처럼 10개의 데이터가 넘어가면 다음 페이지에는 나머지 데이터가 나와야 하기에 AA AA BB BB 이렇게 나와야 합니다.


AA테이블과 BB테이블의 관계는 무엇​인가요? 아무런 관계가 없는 독립적인 2개의 테이블 일까요?


답변: 글에 적었습니다만 다시 말씀드리자면 bl_no을 기준으로 그룹으로 묶여 나누어진 테이블입니다.더 풀어서 예시를 말하자면 AA는 bl_no가 1인것들 BB는 bl_no가 2로 묶였습니다.


빠른 답변 부탁드리겠습니다.

 

댓글목록

등록된 댓글이 없습니다.

ReactJS Re: rownumber와 페이지 영역을 설정하고싶어요

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

페이지 정보

작성자 GCK폴 작성일 2023-08-24 15:41 댓글 0건

본문

첨부파일

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


그러시다면 고정 페이지 레이아웃 리포트타입을 쓰시면 좋을것 같습니다.

먼저 원하는 숫자만큼만 데이터를 보여주고 다음 페이지로 넘어가는 방법입니다.

 

우선 고정 페이지 레이아웃 리포트는 회색 영역을 통해 표현을 하고자 하는 영역을 설정하게 됩니다.

이때 표현을 원하는 갯수만큼 현재 테이블 데이터의 높이를 곱해서 설정해 높으시면 자연스럽게 거기까지만 데이터가 보여진 뒤에 다음 장으로 넘어 갑니다.

아래에서 보시는 것처럼 데이터는 1칸이고 회색 영역이 9칸 이기 때문에 총 10개의 칸에서 10개의 데이터만 보여주고 다음장으로 넘어 갑니다.


그리고는 다음 테이블에 대한 데이터의 바인딩은 다음 페이지에서 하시면 됩니다.

아래에서와 같이 페이지2에서 DataSet1에 대한 데이터를 바인딩후 표현하시면 자연스럽게 새 페이지에서 데이터를 보여줄수 있게 됩니다.

916ad9a7cdbca99d06b58ef6a7333140_1692859060_9879.PNG


간단한 샘플을 첨부드리니 참고해 주시기 바랍니다.


감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

ReactJS Re: rownumber와 페이지 영역을 설정하고싶어요

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

페이지 정보

작성자 GCK폴 작성일 2023-08-25 10:20 댓글 2건

본문

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


각 데이터 테이블 마다 다른 페이지에서 출력하고 싶다면 ​사진과 같이 페이지2 처럼 다른 페이지에 바인딩하는 방법밖에 없을까요? 

-> 다른 방법으로는 서브 리포트를 만들어 넣는 방법이 있을것 같습니다. 다만 설명해주신 상황이 어차피 새로운 BB 라는 테이블이 새로운 페이지에서 시작이 되는 형태라 제안 드린 방법이 가장 적합할 것이라고 생각 했습니다.


기본 페이지를 제외하고 동적으로 페이지를 추가하는 방법 관련 react 코드나 js 코드의 예시(디자이너프로그램 제외)가 있을까요? 

-> 사실상 방법이 없다고 보시는 것이 맞을것 같습니다. 

리포트 제품은 제품 자체에서 가지고 있는 고유의 구동 방법과 순서가 있어서 그 틀이 깨지게 되면 의도치 않은 결과를 만들어 낼수 있습니다.

그래서 만일 이것을 굳이 코딩으로 정의 해서 사용하려 한다면 의외로 꽤 많은 세세한 코드적인 커스터마이징이 들어가야 하기 때문에 그렇다면 굳이 리포팅 제품이 아니라 일반 그리드 제품등을 활용해 리포트를 직접 만드시는 것이 더 편하실 것이기 때문입니다.

저희 또한 그러한 상황을 가정하지 않기 때문에 그에 관련한 상세한 가이드나 문서는 없습니다.


리포트 제품은 여러 양식을 가지고 몇 가지 옵션 세팅만으로 다양한 상황의 리포트를 쉽게 만들수 있다는데에 장점이 있습니다. 그래서 처음에는 조금 답답하게 느껴 지실수 있지만 리포트 고유의 사용 문법에 적응 하시면 생산성을 빠르게 높일수 있는 장점이 있습니다. 대부분의 리포트형식은 기본의 리포트 기능에서 커버가 가능하기 때문에 천천히 한번 살펴봐 주시면 고맙겠습니다.


추가적으로 궁금하신 사항은 다시 문의 남겨 주시기 바랍니다.


감사합니다.

그레이프시티 드림

댓글목록

삭제된 댓글

나무하늘 작성일

삭제된 댓글 입니다.

ReactJS Re: rownumber와 페이지 영역을 설정하고싶어요

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

페이지 정보

작성자 나무하늘 작성일 2023-10-04 14:26 댓글 0건

본문

첫 질문 보자마자 '고정 페이지 레이아웃'사용하면 될 것 같다는 생각이 바로 들었는데요,
만약 AA, BB정해져 있지 않고 , 가변적으로 CC, DD.. 늘어날 수 있다면 또 문제가 됩니다.
그래서 저도 동적으로 세팅하는 방법을 찾았는데 api가 있는데 사실상 없다고 보는건 문제가 있을 것 같네요.

https://demo.grapecity.co.kr/activereportsjs/api/modules/Core.Rdl
객체 별 레퍼런스는 위 링크 참고하시고 아래 코드처럼 동적으로 생성가능합니다.
다만, 위에 답변 처럼 세세한 속성들이 많아서 큰 작업을 하실때는 직접 작업하시기 보다는 디자이너 툴에서 필요한 항목 생성 시에 만들어진 JSON 코드를 가져와서 커스터마이징 하시는게 편합니다. 항목별로 템플릿으로 따로 관리해야 소스관리도 편할거고요.
 

import {Rdl as ARJS} from '@grapecity/activereports/core';

const report = await loadReport();
const body: ARJS.Body = report.Body;
body.ReportItems.push({
Height: '1.8819in',
KeepTogether: true,
Name: '텍스트상자14',
Style: {
FontSize: '55px',
PaddingBottom: '2pt',
PaddingLeft: '2pt',
PaddingRight: '2pt',
PaddingTop: '2pt',
},
Type: 'textbox',
Value: '=Globals!PageNumber & " / " & Globals!TotalPages & " 페이지"',
Width: '5.7917in',
ZIndex: 999,
});
report.Body.Style = {
BackgroundImage: {
BackgroundRepeat: 'Repeat',
Source: 'External',
Value: 'https://~~.jpg',
},
};

댓글목록

등록된 댓글이 없습니다.

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