티스토리 툴바


마이플랫폼 - 페이징



var grdObj;  //그리드 오브젝트
var dsObj;  //데이터셋 오브젝트
var divPage; //페이징 DIV 오브젝트

var init_URL;   //트랜잭션 경로
var init_svcID;   //트랜잭션 고유 ID
var init_outDatasets; //트랜잭션 요청 시 입력값으로 보낼 Dataset 의 ID
var init_category;  //게시판 구분자
var init_grdId;   //그리드 ID
var init_dsId;   //데이터셋 ID
var init_divId;   //페이징DIV ID

var init_iNowPage;    //현재페이지
var init_iPageScale;  //페이징되는 페이지 개수
var init_iVolumnPerPage; //페이지당 건 수

// OnMouseOver
function f_over_color(obj)
{
 obj.Color = "Blue";
 obj.Font = "굴림,8,Bold";
}
// OnMouseOut
function f_out_color(obj)
{
 obj.Color = "Black";
 obj.Font = "굴림,8";
}
// OnFocus
function f_focus_color()
{
 
}
// OnKillFocus
function f_kill_color()
{
 
}

/*
* 변수 값 초기화
*/
function gridPaging_init(iNowPage, iPageScale, iVolumnPerPage, grdId, dsId, divId, strURL, strSvcID, strOutDatasets, vCategory)
{
 init_URL = strURL;
 init_svcID = strSvcID;
 init_outDatasets = strOutDatasets;
 init_category = vCategory;
 
 init_grdId = grdId;
 init_dsId = dsId;
 init_divId = divId;
 
 init_iNowPage = iNowPage;
 init_iPageScale = iPageScale;
 init_iVolumnPerPage = iVolumnPerPage;
}

function hboard_ret(obj, iNowPage)

 
 //페이징 DIV에서 선택 시 선택 한 페이지 조회
 if(length(toString(iNowPage)) > 0) {
  init_iNowPage = iNowPage;
 }
 
 var vArg = "jobGbn = '" + init_svcID + "'";
  vArg += " boardCategory='" + init_category +"'"; //공지사항
  vArg += " iNowPage='" + init_iNowPage + "'";
  vArg += " iPageScale='" + init_iPageScale + "'";
  vArg += " iVolumnPerPage='" + init_iVolumnPerPage + "'";

 SetWaitCursor(true);
 SetCapture();
 //진행창(progress)
 gfn_Progress();
 Transaction(obj.id, init_URL, "", init_outDatasets, vArg, "CallBack");
}

/*
* Transaction CallBack
*/
function CallBack(SvcID, ErrCode, ErrMsg)
{
 SetWaitCursor(false);
 ReleaseCapture();  
 //progress 팝업 닫기 - 0.1초 간격(1번 만)
 setTimer(99, 100);
 //성공 인 경우
 if (ErrCode == 0) {
  switch (SvcID) { 
   case "btnSearch" :
    /*
    * 페이지 생성(현재페이지, 조회 건수, 페이징되는 페이지수, 페이지당 건수, 그리드ID, 데이터셋ID, 페이지 DIV)
    * makePage(iNowPage, iTotalCount, iPageScale, iVolumnPerPage,grdId, dsId, divId)
    */
    makePage(iNowPage, toNumber(totalrecord), init_iPageScale, init_iVolumnPerPage, init_grdId, init_dsId, init_divId);
    //그리드에 포커스
    grdObj.SetFocus();
    break;
    
  }
 } else if (ErrCode == -999) {
  //세션 종료
  gfn_SessionClose(gfn_MsgTitle("01003"),gfn_MsgName("01003"));
 } else {
  //에러 메시지
  gfn_Message(gfn_MsgTitle("01004"),gfn_MsgName("01004"));
 }
}

/*******************************************************
* page번호를 선택 시 그리드 한화면의 Row수 만큼 스크롤 이동
* Parameters :  obj - Object
********************************************************/
function getList(obj)
{
 setNowPage(obj);
 
 //조회
 hboard_ret(obj, iNowPage);
 
 makePage(iNowPage, toNumber(totalrecord), iPageScale, iVolumnPerPage);
}

/*******************************************************
* 페이징 생성
* Parameters :  strNowPage   - 현재페이지
*    iTotalCount  - 조회 건수
*    iPageScale  - 페이징되는 페이지 개수
*    iVolumnPerPage  - 페이지당 건수
*    grdId  - Grid ID
*     dsId  - Dataset ID
*     divId - 페이징 Div ID
********************************************************/
function makePage(iNowPage, iTotalCount, iPageScale, iVolumnPerPage, grdId, dsId, divId)
{
 if(length(grdId) > 0) {
  grdObj = object(grdId);
 }
 if(length(dsId) > 0) {
  dsObj = object(dsId);
 }
 if(length(divId) > 0) {
  divPage = object(divId);
 }

 //조회된 데이터가 없으면 페이지 번호 안보여줌
 if(dsObj.rowcount > 0) {
  divPage.Visible = true;
 } else {
  divPage.Visible = false;
 }
 
 //iLeft, iWidth로 페이지 번호의 크기와 간격을 지정합니다.
 var iLeft       = 1;
 var iWidth      = 28;
 var iHeight  = 20;
 var iTop   = (divPage.height / 2) - (iHeight / 2);
 
 var iMyFont  = "";
 var iMyColor = "";

 // 페이지당 조회 건수
 //iVolumnPerPage = grdObj.PageRowCount;
 // 총 건수(TotalCount)
 //iTotalCount = dsObj.rowcount;
 
 var sb = "<Contents>\n";
 
 var iTotalPage;
 if( floor(iTotalCount%iVolumnPerPage) > 0 ) {
  iTotalPage = floor(iTotalCount/iVolumnPerPage) +1;
 } else {
  iTotalPage = floor(iTotalCount/iVolumnPerPage);
 }

 if(iNowPage == 0) iNowPage = 1;
 var iUint = floor((toInteger(iNowPage)-1) / toInteger(iPageScale));
 iUint = (iUint * iPageScale)+1;
 
 var iNextUnit = toInteger(iUint+iPageScale);

 // 앞으로(<)
 if(iUint > iPageScale) {
  sb = sb +"<button ImageID='btn_outLeft' Cursor='HAND' Id='before' userData='"+ (iUint-1) + "' Left='"+iLeft+"' Top='"+iTop+"' Width='22' Height='" + iHeight + "' Font='굴림,9'  Text='←' Color='Black'  Appearance='Falt' OnClick='getList' OnMouseOver='f_over_color' OnMouseOut='f_out_color' OnFocus='f_focus_color' OnKillFocus='f_kill_color' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 } else {
  sb = sb +"<button ImageID='btn_outLeft' Id='before' enable='false' Left='"+iLeft+"' Top='"+iTop+"' Width='22' Height='" + iHeight + "' Font='굴림,9' Text='←' Color='Black' Appearance='Falt' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 }
 iLeft = (iLeft + 22) + 6;
 
 /*
 // 이전페이지
 if(iNowPage != 1) {
  sb = sb +"<button Cursor='HAND' Id='first' userData='" + (Eval(iNowPage)-1) + "' Left='"+iLeft+"' Top='0' Width='28' Height='" + iHeight + "' Font='굴림,9' Text='◀' Color='Black' Appearance='Falt' OnClick='getList' OnMouseOver='f_over_color' OnMouseOut='f_out_color' OnFocus='f_focus_color' OnKillFocus='f_kill_color' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 } else {
  sb = sb +"<button Id='first' enable='false' Left='"+iLeft+"' Top='0' Width='28' Height='" + iHeight + "' Font='굴림,9' Text='◀' Color='Black' Appearance='Falt' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 }
 iLeft = (iLeft + 28) + 4;
 */
 
 // 페이징[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
 for(var i = iUint ; i < iNextUnit ; i++ ) {
  if(i > iTotalPage) break;
  
  if(i == iNowPage) {
   sb = sb +"<button Align='CENTER' Id='"+i+"' Left='"+iLeft+"' Top='"+iTop+"' Width='"+iWidth+"' Height='20' Font='굴림,8,bold' Text='"+i+"' Color='blue' Appearance='Flat' Style='styleDivBtn'></button>\n" ;
  }
  else {
   sb = sb +"<button Align='CENTER' Id='"+i+"' Left='"+iLeft+"' Top='"+iTop+"' Width='"+iWidth+"' Height='20'  Font='굴림,8'  Text='"+i+"' Color='Black' Appearance='Flat' Style='styleDivBtn' Cursor='HAND' OnClick='getList' OnMouseOver='f_over_color' OnMouseOut='f_out_color' OnFocus='f_focus_color' OnKillFocus='f_kill_color'></button>\n" ;
  }
  
  iLeft = (iLeft + iWidth) + 1;
 }
 iLeft = iLeft + 5;
 
 /*
 // 다음페이지
 if(iNowPage != iTotalPage) {
  sb = sb +"<button Cursor='HAND' Id='end' userData='" + (Eval(iNowPage)+1) + "' Left='"+iLeft+"' Top='0' Width='28' Height='" + iHeight + "'  Font='굴림,9'  Text='▶' Color='Black'  Appearance='Falt' OnClick='getList' OnMouseOver='f_over_color' OnMouseOut='f_out_color' OnFocus='f_focus_color' OnKillFocus='f_kill_color' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 } else {
  sb = sb +"<button Id='end' enable='false' Left='"+iLeft+"' Top='0' Width='28' Height='" + iHeight + "' Font='굴림,9' Text='▶' Color='Black' Appearance='Falt' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 }
 iLeft = iLeft + 28;
 */
 // 뒤로
 if(iNextUnit <= iTotalPage) {
  sb = sb +"<button ImageID='btn_putRight' Cursor='HAND' Id='next' userData='"+iNextUnit+"' Left='"+iLeft+"' Top='"+iTop+"' Width='22'  Height='" + iHeight + "'  Font='굴림,9'  Text='→' Color='Black'  Appearance='Falt' OnClick='getList' OnMouseOver='f_over_color' OnMouseOut='f_out_color' OnFocus='f_focus_color' OnKillFocus='f_kill_color' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 } else {
  sb = sb +"<button ImageID='btn_putRight' Id='next' enable='false' Left='"+iLeft+"' Top='"+iTop+"' Width='22' Height='" + iHeight + "' Font='굴림,9' Text='→' Color='Black' Appearance='Falt' BKColor = '#D6ECF0' BorderColor = '#D6ECF0'></button>\n" ;
 }
 iLeft = iLeft + 22;
 
 sb    = sb +"</Contents>\n";
 divPage.Contents  = sb;
 
 //페이징 Div 중앙 정렬
  divPage.width = iLeft+4;
 divPage.left = ((grdObj.width - 10) / 2) - (divPage.width/2);
}

/*******************************************************
* page번호를 선택시 현재페이지(iNowPage)를 세팅
* Parameters :  obj - Object
********************************************************/
function setNowPage(obj)
{
 if(obj=='←' || obj=='◀' || obj=='▶' || obj=='→') {
  iNowPage = obj.userData;
 } else if(IsDigit(obj.Value)) {
  iNowPage = obj.Id;
 }
}

Trackback 0 Comment 0

오라클 팁

SELECT REPLACE(SUBSTR(OFF_LIST, 0, LENGTH(OFF_LIST)-1), '|', '<BR>') OFF_LIST
FROM
(
    -- 3. 여러개의 ROW로 연결자(|)로 붙여서 하나의 ROW로 만든다.
    SELECT SUBSTR(MAX(SYS_CONNECT_BY_PATH(OFF_LIST, '|')), 4) OFF_LIST
    FROM      
    (  
        SELECT 0 CNT, '!' OFF_LIST
        FROM DUAL
        UNION ALL
        SELECT ROWNUM CNT
              , (SELECT CRNAME FROM CRCODE WHERE CRCODE = A.CRCODE) || ' : ' || OFFLIST  OFF_LIST
        FROM
            (   
                -- 2. 문자열#으로 (기존에 붙어있는 코드와 내용을 분리한다.)
                SELECT SUBSTR(OFF_LINE, 0, INSTR(OFF_LINE, '#', 1)-1) CRCODE
                     , SUBSTR(OFF_LINE, INSTR(OFF_LINE, '#', 2)+1, LENGTH(OFF_LINE)) OFFLIST
                FROM
                    (
                        -- 1. 연결자(@)롤 붙여진 한 ROW의 값을 여러개의 ROW로 만든다.
                        SELECT SUBSTR (OFFLINE_TEST, INSTR (OFFLINE_TEST, '@', 1, LEVEL) + 1
                                                   , INSTR (OFFLINE_TEST, '@', 1, LEVEL + 1) - INSTR (OFFLINE_TEST, '@', 1, LEVEL) - 1 ) OFF_LINE
                        FROM (
                               SELECT '@' || OFFLINE_TEST || '@' OFFLINE_TEST
                               FROM CRLIST
                               WHERE HCODE='001018'
                                     AND CCODE='101165'
                                     AND ECODE='100313'
                                     AND LESSON='03'
                                     AND REG_DATE='20080910'
                             )   
                        CONNECT BY LEVEL <= LENGTH (OFFLINE_TEST) - LENGTH (REPLACE (OFFLINE_TEST, '@')) - 1
                    )
            ) A
    )
    START WITH OFF_LIST = '!'
    CONNECT BY PRIOR CNT = CNT-1
)
Trackback 0 Comment 0

핀홀 조립완료

목공용 풀로 써서 붙여야 하는지라

30분 걸린다는 조립시간이 3시간 걸렸다.

패키지에 동봉된 설명서가 엉성했고,

홈페이지 가서 상세 조립서를 프린트 했는데
프린터가 흐릿하게(카트리지 다됐다 ㅠㅠ;) 나와서

잘안보이는 부분이 있으면 컴퓨터 앞에 달려가면서

조립에 성공했는데

어떻게 찍는지 설명이 없다. 이런~

간단하게 셔터(?) 같은 뚜껑 열어주면 찍힌다는 건 알겠는데

노출을 얼마동안 해야 되는지 공부해야 된다니.

아 선물줄껀데 사용법이라도 알려줘야 한는데.
어렵군
Trackback 0 Comment 0

핀홀카메라 DIY PinholeArt 120-Lite (P)

사용자 삽입 이미지


직접 조립해야 되고

렌즈가 없으며 바늘 구멍을 통해 노출시간만 조절해주면 사진이 찍힌단다.

120필름을 쓴다는게 마음에 살짝 걸림

http://www.boxncan.com/shop/s_goods_detail.asp?goodsIdx=33411

선물할려고 샀는데..

평가가 좋으면 나도 하나 사야지

기회가 되면 리뷰도 쓸 예정

홀가 135BC와 고민 끝에 결정

사용자 삽입 이미지

Trackback 0 Comment 0

윈도우 단축키

[F] 기능키

[F1]

선택한 항목의 도움말을 실행 합니다.
[F2] 아이콘/폴더/파일의 이름을 바꿀때 사용합니다. 마우스 오른쪽 [이름 바꾸기] 기능
[F3] 파일이나 폴더를 찾기. [시작] - [찾기] - [파일 또는 폴더]
[F4] 탐색기나 IE의 주소 입력란을 드롭다운 합니다.
[F5] 창의 내용을 새로 고침 합니다. 마우스 오른쪽 [새로 고침] 기능
[F6] 주소 입력란을 활성화 합니다. 입력된 주소 셀렉트
[F10] 탐색기나 IE의 메뉴를 활성화 합니다. 방향키 메뉴 이동
[F11] 전체 화면으로 보기(Fullscreen)

more..

Trackback 0 Comment 0
prev 1 2 next