티스토리 뷰
728x90
출처 : 파트 IV. 컴포넌트 / 16. Grid 16.10그리드 행/열 합계 - 넥사크로플랫폼 ...
농부지기 :: Nexacro.Grid - all Checked 처리
농부지기 :: Nexacro.Grid - grid header
Dataset에 Checkbox의 체크값을 저장하기 위한 컬럼 추가
컬럼 추가 버튼 선택
chk 컬럼 추가
Grid의 컬럼 추가
[Insert] 버튼을 선택하여 Grid에 컬럼을 추가
컬럼헤더의 text 수정
컬럼의 expr, text 수정
- expr : expr:chk=='Y'?'1':'0'
- text : bind:chk
컬럼의 displaytype, edittype를 checkbox로 수정
- displaytype : checkbox
- edittype : checkbox
Grid의 Checkbox 컬럼의 체크 값 변경시 Dataset에 반영되도록 스크립트 작성
Nexacro 의 체크박스는 체크가 된 경우 1 / 체크가 되지 않은 경우 0의 Dataset의 체크값을 변경하기 위해서 스크립트 작성
this.Dataset00_oncolumnchanged = function(obj:Dataset, e:nexacro.DSColChangeEventInfo) { // chk 컬럼인 경우 if(e.columnid == "chk") { // 다른 이벤트가 동작하지 않도록 설정 obj.enableevent = false; //false can stop event temporarily // 변경된 값이 1(체크가 된 경우)인경우 if(e.newvalue == '1') { // 1인 경우 Dataset의 chk 값을 Y로 변경 obj.setColumn(e.row,"chk",'Y'); } else if(e.newvalue == '0') { // 0인 경우 Dataset의 chk 값을 N로 변경 obj.setColumn(e.row,"chk",'N'); } // 다시 이벤트가 정상 동작하도록 설정 obj.enableevent = true; } }
체크값 전달을 위해서 SampleVO 클래스에 chk 변수 추가
public class SampleVO extends DefaultVO implements Serializable { private java.lang.String chk; // ... 생략 ... public java.lang.String getChk() { return chk; } public void setChk(java.lang.String chk) { this.chk = chk; } ... 생략 ...
컬럼 헤더 클릭시 체크박스 전부 선택되도록 스크립트 작성
this.Grid00_onheadclick = function(obj:Grid, e:nexacro.GridClickEventInfo) { // 첫 번째 컬럼인 경우 if (e.col == 0) { // Dataset의 레코드 개수 만큼 반복 for(var nRow=0; nRow < this.Dataset00.getRowCount(); nRow++) { // chk 컬럼의 값을 Y로 변경 this.Dataset00.setColumn(nRow, "chk", 'Y'); } } }
체크값 확인
package bizservice.nexa.sample.service; public class EgovSampleServiceXpImpl extends AbstractServiceImpl implements EgovSampleServiceXp { public void multiDataModifyService(List<Object> tranInfo, Map<String, Object> inVar, Map<String, List<Object>> inDataset, Map<String, Object> outVar, Map<String, Object> outDataset) throws Exception { //서비스단 개발 List<Object> list = inDataset.get("input1"); for (int i = 0; i < list.size(); i++) { Object obj = list.get(i); if (obj instanceof SampleVO){ SampleVO row = (SampleVO)obj; System.out.println("pk.post_id = " + row.getPost_id() + "/체크여부 = " + row.getChk()); // 추가 작업 구현 } }
조회 SQL문 수정 (src\main\resources\egovframework\sqlmap\bizservice\sample\Sample.xml) - 불필요한 작업
<!-- Sample resultObject --> <resultMap id="sample" class="bizservice.nexa.sample.vo.SampleVO"> <result property="chk" column="CHK" /> <!-- chk 컬럼 추가 --> <!-- 생략 --> <select id="sampleDAO.selectSampleVOList" parameterClass="searchVO" resultMap="sample"> SELECT 'N' chk, A.num AS num, A.TITLE AS TITLE, A.REG_ID AS REG_ID, A.REG_DATE AS REG_DATE, A.POST_ID AS POST_ID, A.CONTENTS AS CONTENTS, A.COMMUNITY_ID AS COMMUNITY_ID, A.COUNT AS COUNT FROM XP_BOARD A WHERE 1=1 </select> <!-- 생략 -->
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- MySQL
- 동경
- sas2009
- 일본여행
- Spring
- ble
- Spring MVC
- koba2010
- ffmpeg
- Xcode
- JavaScript
- 지스타2007
- Delphi
- oracle
- 튜닝쇼 2008
- flex
- NDK
- 전예희
- SAS
- android
- 레이싱모델 익스트림 포토 페스티벌
- Delphi Tip
- 송주경
- KOBA
- 서울오토살롱
- ubuntu
- Java
- Linux
- Mac
- BPI-M4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함