게시글
질문&답변
2024.05.26
데이터셋을 여러개 보내는 경우도 있나요?
안녕하세요! 킷도우입니다:) 실무에서 데이터셋을 여러 개 보내고 받는 경우가 왕왕있습니다. 예를들어, 우리 주문 게시판에서는 그리드가 1개로 구성되어 있어 바인딩이 필요한 데이터셋이 1개이지만 복잡하게 구성되어 있는 화면의 경우 바인딩이 필요한 그리드, 콤보박스, 라디오박스 등등 데이터셋이 매우 많이 필요할 수 있습니다. 이런 경우 데이터셋을 여러 개를 세팅해 서버로부터 정보를 주고 받는 다고 보시면 되겠습니다. 궁금하신 사항은 언제든 문의주세요! 감사합니다:)
- 0
- 1
- 36
질문&답변
2024.03.03
투비소프트 넥사크로 만기일
안녕하세요~ 킷도우입니다:) 넥사크로 라이센스 만기일 관련 문의 주시는 것 맞을까요? ㅎㅎ 넥사크로 라이센스의 경우 투비소프트 홈페이지에서 2개월간 사용할 수 있는 무료 라이센스가 배포됩니다. 따라서 라이센스가 만료됐더라도 다시 투비소프트 홈페이지에서 라이센스 재발급 받으시면 지속해서 쓰실 수 있습니다. 라이센스 교체하는 방법은 교제 52페이지에 가이드를 따라서 적용 가능하십니다. 감사합니다:)
- 0
- 1
- 110
질문&답변
2024.01.06
DBEAVER 설치 오류
안녕하세요~ 킷도우입니다:) 오라클 리스너 포트 지정하는 부분은 강의 자료 1)개발 환경 세팅 -> 1. Oralce 설치 -> 9. 완료 테스트 및 HTTP 통신 포트(1521) 변경 부분에서 확인 가능하십니다. 진행해 보시고 안 되시면 다시 한번 문의 부탁드립니다. 감사합니다:)
- 0
- 1
- 415
질문&답변
2023.12.29
페이징처리 관련 문의 드립니다
안녕하세요~ 킷도우입니다:) kitdow.on@gmail.com 으로 메일 요청 주시면 해당 메일로 유관 소스 첨부하여 전송 드리겠습니다:) 해당 소스 참고해서 구현하시면 도움되실 것 같습니다. 감사합니다!
- 0
- 1
- 138
질문&답변
2023.12.26
교재가 어디 있나요?
안녕하세요! 킷도우입니다:) 교재는 [1.3강 dbeaver 설치] 강의에서 우측 상단 수업 자료 버튼을 클릭하시면 다운로드 됩니다. (사진) 혹 다운로드가 안되신다면 kitdow.on@gmail.com 으로 연락주시면 별도로 PDF 파일 전달 드리도록 하겠습니다:) 감사합니다.
- 0
- 1
- 189
질문&답변
2023.12.06
주문 등록 및 주문 수정 그리드 업데이트 관련 문의드립니다.(3차 문의)
안녕하세요. 킷도우입니다:) 죄송하다뇨 ㅠ 제 강의 관심가져 주셔서 감사드리고, 열정적으로 응용하시는 모습 응원합니다. 주문 수정 this.btn_updOrd_onclick 이벤트 함수 구현 부분에서 현재 아래와 같이 돼있으신 것 같습니다. this.gfnOpenPopup("popup","Board::OB_001_02.xfdl",oArg,sPopupCallBack,oOption); 여기서 첫 번째 매개변수 "popup" -> "updatePopup" 으로 변경해야 fn_search()함수가 동작합니다! 주문 등록 주문 수정과 마찬가지입니다! this.btn_regOrd_onclick 이벤트 함수 내 this.gfnOpenPopup("insertPopup" ,...) 으로 수정하시고 this .fnPopupCallback = function (strId, strVal) { trace( "strId :" + strId + "strVal :" + strVal); switch(strId) { case "updatePopup" t his .fn_search(); break ; case "insertPopup" t his .fn_search(); break ; } }; 이상입니다. 이 다음으로 팝업 소스 포함해서 질문 올려주셨는데, 이 코딩은 해당 팝업 소스와는 무관합니다. 따라서 해당 질문 올려주신 것은 삭제해주시면 감사하겠습니다:)
- 1
- 1
- 215
질문&답변
2023.12.05
주문 등록 및 주문 수정 그리드 업데이트 관련 문의드립니다.(2차 문의)
안녕하세요! 킷도우입니다:) 퇴근 후 부랴부랴 가이드 드렸는데 도움되셨다니 다행입니다:) 주문 수정 기준으로 설명드리면, 방식은 주문 삭제 했을 때와 비슷한대요! 주문 삭제했을 땐 모든 작업이 종료되는 시점이 fn_callback 함수였다면, 주문 수정/등록의 경우엔 팝업이 닫히는 시점이 바로 작업 종료시점입니다. OB_001.xfdl 파일에서 주문 수정 버튼 클릭시 아래와 같이 선언해줬었는데요. (사진) fnPopupCallback 함수가 바로 팝업이 닫힌 후 후처리 로직이 동작하는 부분입니다. 따라서 OB_001.xfdl에 아래와 같이 함수를 추가 시켜 주시면 원하시는 기능이 동작합니다. (사진) ※ fn_seach() 함수는 이전 질문에서 설명 드렸으니 스킵하겠습니다! 도움되셨길 바랍니다. 감사합니다:)
- 1
- 1
- 176
질문&답변
2023.12.04
그리드 리스트 업데이트 관련 질문드립니다.
안녕하세요! 킷도우입니다:) 문의하신 사항 답변드립니다. 1. 주문 등록, 주문 수정, 주문 삭제 하였을 때 "조회버튼 재클릭하지 않고" 변경 사항이 바로 리스트에 반영 방법은 간단합니다. 등록/수정/삭제 동작이 모두 끝나고 나면 조회 버튼을 눌렀을 때 로직을 그대로 돌린다고 생각해주시면 될 것 같습니다:) 아래 스텝대로 개발해 보시면 될 것 같습니다. 1) 우선 OB_001.xfdl 파일에 함수 하나를 만들어줍니다. 함수 안의 내용은 조회 버튼을 클릭했을 로직 내용을 그대로 복붙합니다. ex) this.fn_search = function(nPageNo){ // 조회 버튼 클릭시 동작하는 onclick 이벤트 내 로직을 그대로 복붙! } 2) 주문 등록/수정/삭제 로직이 모두 다 돌고 끝나는 시점에 this.fn_search() 함수를 위치시킵니다. 로직이 돌고 끝나는 지점이 어디일까요? 강의 내용 기준 fn_callback() 함수 부분입니다. 따라서 아래와 같이 로직을 넣어주면 문의하신 사항이 잘 동작하실 겁니다. 아래 예제는 삭제 완료 후 즉시 조회되도록 한 것이고 수정/등록도 동일하게 해주시면 됩니다. this.fnCallback = function(svcID, errorCode, errorMsg) { if(errorCode alert("작업 실패 코드 : " + errorCode + "\n" + errorMsg); return 0; } switch(svcID) { case "deleteOrdList" : alert("삭제 완료"); fn_search(); break; } } 2. 그리드 내 체크박스 적용 방법 내용이 길어져 블로그에 내용 포스팅하였으니 아래 링크 확인해주세요. https://kitdow.tistory.com/49 도움 되셨길 바랍니다. 감사합니다.
- 1
- 1
- 133
질문&답변
2023.11.07
별첨 자료가 어디있는지요
안녕하세요. 킷도우입니다:) 별첨 자료는 수업 자료 PDF에 1 Page 상단에 다운로드 경로가 나옵니다. 해당 경로에서 다운 받으시면 됩니다! 궁금하신 사항은 언제든 문의 주세요. 감사합니다.
- 0
- 1
- 196
질문&답변
2023.10.19
페이징 작업에 대한 사항 알려 주실 수 있나요?
안녕하세요. 킷도우입니다. 강의 잘 들어주셨다니 감사합니다. :) 일단 저의 경우 사내 업무용 넥사크로 시스템 운영 경험이 2차례 정도 있는데 첫 번째 시스템의 경우 최초 구축하면서 페이징 처리를 했으나 조회 속도 이슈로 인해 운영하면서 전부 페이징 처리를 걷어냈던 경험이 있고 , 두 번째 시스템에서는 애초에 페이징 적용을 안 했습니다. 보통은 넥사크로를 사내 업무용으로 많이들 쓰고 테이블 데이터 양이 많다 보면 데이터 조회 시 불편한 점으로 인해 페이징 처리를 안 하지 않나 생각됩니다. 그래도 어떤 상황이 생길지 모르니 학습 차원에서 실습을 해 보는 것은 좋은 것 같습니다:) 아래 페이징 처리 관련 잘 정리된 내용이 있어 링크 공유드립니다. 아래 소스를 활용해 제가 직접 적용해 보니 변환만 잘 하면 정상 작동하는 소스입니다. 그리고 강의 내용을 완벽히 숙지하셨다면 아래 링크를 보고 충분히 하실 수 있는 개발이라고 생각합니다. http://tobetong.com/?p=7917 커스터마이징하는 방법에 몇 가지 팁을 드려보면 아래와 같습니다. ▶paging.xfdl -> OB_001.xfdl ① 조회 버튼 -> id : btnSearch ② 데이터 조회 Grid -> id : grd_ordList -> binddataset : ds_list ③ 페이징 처리용 화면 Div -> id : Div00 -> url : cmm::paging_comm.xfdl (Board 말고 cmm 폴더에 xfdl파일을 만들어주세요. 공통 모듈 성격이라 cmm에 넣는 것이 좋습니다.) 이 뒤 나오는 소스는 OB_001.xfdl에 적절히 배치 시켜주세요. ▶ paging_comm.xfdl 넥사크로 컴포넌트를 직접 그려주시고 ID를 부여해주세요. 강의에서 배웠던 내용을 토대로 그리면 충분히 하실 수 있습니다! 아래 소스는 전부 그대로 복사해서 적절히 배치 시켜주세요. ▶ page_sample.jsp 저희는 이 부분을 UiadapterBoardServiceImpl.java에 구현해야 합니다. .jsp 소스를 .java로 변환해 주시면 됩니다. 예제 소스에는 for문으로 data를 임의로 만들지만 저희는 주문 테이블로부터 pageNumber와 페이지에 표시할 row 수를 토대로 값을 select 해야합니다. 이 부분은 mybatis 문법이 별도로 들어가야 하는데 아래 문법 참조하시면 도움 되실겁니다. :) 기존에 주문 조회 select문을 한번 감싸서 아래와 같이 적용하시면 됩니다. SELECT * FROM (기존에 주문 조회 쿼리 그대로 복붙) A WHERE WHERE (#{pageNum}-1)*#{rowCount} AND A.RNUM 아래는 제가 적용한 결과 화면입니다. 한 페이지당 노출할 row 수를 5개로 설정해 보았습니다. (사진) 진행 하시다가 막히시면 댓글로 언제든 문의 주세요 ㅎㅎ 감사합니다:)
- 0
- 1
- 252