IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
한국 developerWorks >  Lotus  >  포럼  >  1. Domino/Notes 포럼  >  developerWorks

웹 보기 열에 생략 기호 표시하기    이 글의 최신 메시지를 받기 위해 귀하의 RSS 리더기를 지정하십시오.


     

 
 

나의 developerWorks
 환영 손님
로그인 또는 등록
Permlink 답변: 0 - 페이지: 1 글: [ 이전 | 다음 ]
광자

게시: 4
등록: 2006/04/12 12:49:58 오전
웹 보기 열에 생략 기호 표시하기
게시: 2006/05/08 03:18:30 오전
Click to report abuse   이 글에 답변하기 클릭 답변
열값의 길이가 길어서 한줄 이상 넘어가는 경우 보기 싫은 경우가 많다.
이 경우 특정 길이를 초과한 경우 자동으로 생략기호("...")와 마우스 오버시 도움말을 표시하도록 하면 매우 효과적일 것이다.
그러나, 단순히 열값의 길이를 @Length()와 같이 처리한다면, 1Byte문자와 2Byte(한글 등)가 모두 1Byte로 인식되어, 영문의 경우 매우 짧게 잘리는 경우가 발생할 수 있다.
위와 같이 영어/숫자/한글이 섞여있는 값에 대해서 지정한 길이 만큼 자르고 생략되는 경우 생갹기호(...)를 표시토록 하는 Javascript 함수를 아래에서 보자

//----------함수 정의-----------//
//문자열 자르기
function cutOffString(title, num){
 var i, sum, title_one ;
 var result = "" ;
 var sumByte = 0 ;

 if(lengthOfString(title) <= num){
  document.write(title);
  return ;
 }
 num -= 3;
 for(i = 0; i < title.length; i++){
  if( title.charCodeAt(i) >= 1000){ //영문 또는 숫자
   sumByte += 2;
  }else{
   //2Byte문자
   sumByte ++ ;
  }
  if(sumByte > num){
   break ;
  }else{
   result += title.substr(i, 1) ;
  }
 }
 document.write('' + result + '...' + '') ;
 return ;
}
function lengthOfString(title){
 var i ;
 var sumByte = 0 ;
 for(i = 0; i < title.length; i++){
  if( title.charCodeAt(i) < 1000){ //영문 또는 숫자
   sumByte++;
  }else{
   //2Byte문자
   sumByte += 2 ;
  }
 }
 return sumByte ;
}

//-------------함수호출(열수식)----------------//
<script language="javascript">cutOffString('" + bTitle + "', 68)</script>

Message was edited by: kr_admin


모든 포럼의 최근 메시지를 받기 위해 귀하의 RSS 리더기를 지정하십시오.

    IBM 소개 개인정보 보호정책 문의