상세 컨텐츠

본문 제목

VsFlexGrid의 셀병합과 스크롤간의 문제

프로그래밍/스크립트

by 라제폰 2009. 2. 6. 17:12

본문

안녕하세요..
Asp, vbscript로 개발을 하고 있습니다.
win2000에서는 문제가 없는데 win98에서 간혹 다음과 같은 문제가 발생하네요...

문제1: 그리드 크기보다 많은 데이터가 뿌려질때... 스크롤바가
   생길때.
문제2: 그리드에 데이터가 뿌려진 후 스크롤바를 이동시킬때 .
   
위의 두 경우에 웹브라우져가 다운되는 경우가 발생합니다.
걸리는 부분을 찾아보니. Merge Setting한 부분을 지우면 아무 문제가 없고 이부분을 추가하면 문제가 발생합니다.

그런데 이상한건.. 동일한 방식으로 코딩한 다른 페이지는 문제가 없다는 겁니다.

특정 페이지만 그런데..주위에서도 간혹 셀병합에 의해 문제가 발생한다고 해서 해결책을 물어보니... 위치를 변경해서 간혹 해결이 되었다고 합니다.

정확한 해결책을 알고 싶습니다...

참고로 윈2000에서 문제 없이 실행이 된다면 코딩상에 문제는 아니라고 생각합니다.

답변 부탁드립니다.

감사합니다~~^^

아래는 그리드 셋팅 부분입니다.
=====================================================
Sub sbGrid_Init()
Dim intCol
  '그리드 초기화

  With Grid
    .Redraw = False
    .Rows = 1
    .FormatString = "^공사명|^집행승인일|^예상도급액|
             ^집행품의금액|^집행품의금액|
             ^집행품의금액|^투자방법|^투자방법|
             ^투자방법|^투자방법|^투자방법|
             ^사유|^원가투자예상월|
             ^발주처 승인여부|^첨부파일|
             ^파일첨부|^파일삭제|^seq|^flag"
    .AddItem    "공사명" & vbTab & "집행승인일" &
             vbTab & "예상도급액" & vbTab &
             "직영" & vbTab & "하도" & vbTab
             & "계" & vbTab & "재료비" & vbTab
             & "노무비" & vbTab & "경비" &
             vbTab & "외주비" & vbTab & "계" &
             vbTab & "사유" & vbTab & "원가투자
             예상월" & vbTab & "발주처 승인여
             부" & vbTab & "첨부파일" & vbTab
             & "파일첨부" & vbTab & "파일삭제"
             & vbTab & "seq" & vbTab & "flag"
             , 1
    
.FixedRows = 2 '    Note - ROW 고정
.FixedCols = 0

' Note - Col Index 설정
.Colkey( 0) = "공사명"
.Colkey( 1) = "승인일"
.Colkey( 2) = "도급액"
.Colkey( 3) = "직영"
.Colkey( 4) = "하도"
.Colkey( 5) = "집행계"
.Colkey( 6) = "재료비"
.Colkey( 7) = "노무비"
.Colkey( 8) = "경비"
.Colkey( 9) = "외주비"
.Colkey(10) = "투자계"
.Colkey(11) = "사유"
.Colkey(12) = "예상월"
.Colkey(13) = "승인여부"
.Colkey(14) = "첨부파일"
.Colkey(15) = "파일첨부"
.Colkey(16) = "파일삭제"
.Colkey(17) = "seq"
.Colkey(18) = "flag"

' Note - 정렬(1:LeftCenter, 4:CenterCenter, 7:RightCenter)
For intCol = 0 To .Cols - 1
  .FixedAlignment(intCol) = 4 ' Note - Header 중앙 정렬
Next

.ColAlignment(.ColIndex("공사명" )) = 1 ' Note - Data Cell 왼쪽 정렬
.ColAlignment(.ColIndex("사유"  )) = 1
.ColAlignment(.ColIndex("첨부파일")) = 1

.ColAlignment(.ColIndex("승인일" )) = 4
.ColAlignment(.ColIndex("예상월" )) = 4
.ColAlignment(.ColIndex("승인여부")) = 4
.ColAlignment(.ColIndex("파일첨부")) = 4
.ColAlignment(.ColIndex("파일삭제")) = 4

.ColAlignment(.ColIndex("도급액" )) = 7 ' Note - Data Cell 오른쪽 정렬
.ColAlignment(.ColIndex("직영"  )) = 7
.ColAlignment(.ColIndex("하도"  )) = 7
.ColAlignment(.ColIndex("집행계" )) = 7
.ColAlignment(.ColIndex("재료비" )) = 7
.ColAlignment(.ColIndex("노무비" )) = 7
.ColAlignment(.ColIndex("경비"  )) = 7
.ColAlignment(.ColIndex("외주비" )) = 7
.ColAlignment(.ColIndex("투자계" )) = 7



' Note - 예외칼럼속성 정의
.ColWidth(.ColIndex("공사명"   )) = 2500
.ColWidth(.ColIndex("승인일"   )) = 1200
.ColWidth(.ColIndex("도급액"   )) = 1200
.ColWidth(.ColIndex("직영"    )) = 1200
.ColWidth(.ColIndex("하도"    )) = 1200
.ColWidth(.ColIndex("집행계"   )) = 1200
.ColWidth(.ColIndex("재료비"   )) = 1200
.ColWidth(.ColIndex("노무비"   )) = 1200
.ColWidth(.ColIndex("경비"    )) = 1200
.ColWidth(.ColIndex("외주비"   )) = 1200
.ColWidth(.ColIndex("투자계"   )) = 1200
.ColWidth(.ColIndex("사유"    )) = 2500
.ColWidth(.ColIndex("예상월"   )) = 1000
.ColWidth(.ColIndex("승인여부"  )) = 900
.ColWidth(.ColIndex("첨부파일"  )) = 2000
.ColWidth(.ColIndex("파일첨부"  )) = 1000
.ColWidth(.ColIndex("파일삭제"  )) = 1000






' Note - Col Format
.ColFormat(.ColIndex("도급액"   )) = "#,###"
.ColFormat(.ColIndex("직영"    )) = "#,###"
.ColFormat(.ColIndex("하도"    )) = "#,###"
.ColFormat(.ColIndex("집행계"   )) = "#,###"
.ColFormat(.ColIndex("재료비"   )) = "#,###"
.ColFormat(.ColIndex("노무비"   )) = "#,###"
.ColFormat(.ColIndex("경비"    )) = "#,###"
.ColFormat(.ColIndex("외주비"   )) = "#,###"
.ColFormat(.ColIndex("투자계"   )) = "#,###"


' Note - Edit Mask, Format
.ColEditMask(.ColIndex("승인일"  )) = "####-##-##"
.ColEditMask(.ColIndex("예상월"  )) = "####-##"


' Note - Grid의 Edit property
.Editable    = 2

.ColComboList(.ColIndex("승인여부")) = "#N;N|#Y;Y"

.FrozenCols = 2

' Note - Hedden Col
.ColHidden(.ColIndex("SEQ"  )) = True
.ColHidden(.ColIndex("flag"    )) = True

' Note - Cell 병합.
.MergeRow(0) = True
.MergeCol(.ColIndex("공사명"   )) = True
.MergeCol(.ColIndex("승인일"   )) = True
.MergeCol(.ColIndex("도급액"   )) = True
.MergeCol(.ColIndex("사유"    )) = True
.MergeCol(.ColIndex("예상월"   )) = True
.MergeCol(.ColIndex("승인여부"  )) = True
.MergeCol(.ColIndex("첨부파일"  )) = True
.MergeCol(.ColIndex("파일첨부"  )) = True
.MergeCol(.ColIndex("파일삭제"  )) = True

.Redraw = True
End With
End Sub

관련글 더보기