수정 전
for(int a=0; a<spread.Sheet.Count; aa++)
{
spread.SetPrintInfo(pi,a);
spread.PrintSheet(a);
}
수정 후
for(int a=0; a<spread.Sheet.Count; aa++)
{
spread.SetPrintInfo(pi,a);
spread.PrintSheet(a);
System.Threading.Thread.Sleep(10);
}
이렇게 출력하려고 하면 한 페이지만 똑같이 나온다
여기에 Thread.Sleep(10); 를 넣어주면 잘 나온다... 아아 ㅜㅜ
아 그리고 스프레드에 시트를 추가해서 여러장을 만들 경우
스프레드 객체 하나 만들어서 가지고 노는게 속편하다
기존 스프레드에 추가해서 쓰려고 했더니 시트 삭제시 문제가 한 둘이 아니다 -_-
그래서 그냥 새로 만들어 넣었더니 아무 문제 없음 으허허어엉
이를 테면 이런 식
//프린트를 수행할 스프레드 변수 생성
//기존 스프레드에서 진행해도 무방하나 스프레드 초기화 및 시트 삭제의 문제가 있어 배제
FarPoint.Win.Spread.FpSpread TmpSpd = new FarPoint.Win.Spread.FpSpread();
FarPoint.Win.Spread.SheetView[] sv = new FarPoint.Win.Spread.SheetView[PageCnt];
//기존 스프레드에서 진행해도 무방하나 스프레드 초기화 및 시트 삭제의 문제가 있어 배제
FarPoint.Win.Spread.FpSpread TmpSpd = new FarPoint.Win.Spread.FpSpread();
FarPoint.Win.Spread.SheetView[] sv = new FarPoint.Win.Spread.SheetView[PageCnt];
//출력 페이지수만큼 시트 수 생성 및 삽입
if (PageCnt > 0)
{
for (int k = 0; k < PageCnt; k++)
{
sv[k] = new FarPoint.Win.Spread.SheetView();
sv[k] = CopySheet(spdPrint_Sheet);
sv[k].SheetName = "Sheet " + k.ToString();
TmpSpd.Sheets.Add(sv[k]);
}
}
댓글 없음 :
댓글 쓰기