삼성 SDS에서의 교육자료 합니다.

신고
posted by Bloody Guy

infragistics의 grid인 UltraGrid의 내용을 Excel로 다운을 받을 수 있습니다.

이건 문제도 아닙니다.. 아주 단순하게 UltraWebGridExcelExporter 를 사용하면 아주 간단하게 처리 됩니다.

Asp.net의 Design Page 에서 UltraWebGridExcelExporter 콘트롤을 drag & drop 을 하고

Button을 하나 만들어서 UltraWebGridExcelExporter 클래스의 Export 함수를 호출해서 파라메터로 UltraWebGrid 콘트롤을 넘기면 됩니다.

그러나 이렇게 했을 때 문제는 Grid의 Header가 2줄 이상이었을 때 Export 만으로 Multi Header를 만들어 주지 않습니다.

예를 들어

 

이런 헤더를 Excel 에서 볼 수 없다. 아래에 있는 실제 column 정보만 나오게 됩니다.

Multi Header 의 작업을 하기 위해서는 일반적으로 다른 콘트롤 즉 DataGrid 를 사용하여 RenderControl 함수를 사용 실제 Excel 페이지를 만들어서 써야 합니다.. 이것도 얼마나 괴로운 작업인가요... 케에에엑~~~!!!


그나마 UltraGrid를 그대로 사용하면서 UltraWebGridExcelExporter 를 사용하여 멀티해더를 좀 억지로 구현을 했습니다.

사용한 객체는 Infragistics.WebUI.UltraWebGrid.ExcelExport.BeginExportEventArgs 를 사용했습니다.

보면 알겠지만 BeginExportEvent 를 사용한 것입니다.

이 객체의 CurrentWorksheet를 사용했습니다.

셈플소스 방식은

_ultraExcelExportBeginEvnt.CurrentWorksheet.Row[0].Cell[0].Value = "입력할 값";

이 것으로 일단 Excel 의 원하는 곳에 값을 입력할 수 있습니다.

그리고는 폰트 색이며 라인 등.. 그리는 과정을 반복하게 됩니다.

그러나 실제 그렇게 많은 멀티라인은 존재하지 않기 때문에 코딩이 아무래도 일일이 만드는 것보다는 훨씬 적게 듭니다.

Multi header 를 구현하면 위쪽에 해더가 없는.. 즉.

"D" 같은 column과 "그룹헤더"를 볼 수 있습니다. 이런 column은 MergedCellsRegions 를 사용하여 병합 시킵니다.

_ultraExcelExportBeginEvnt.CurrentWorksheet.MergedCellsRegions.Add( 시작 Row , 시작 Column , 종료 Row , 종료 Column );

로 셀 병합이 가능합니다.


색을 칠하는 것도 문제가 됩니다.. 각 RowCell 마다 CellFormat 이 존재하고 CellFormatFillPatternSolid 로 맞춰

FillPatternForegroundColor 를 변경함으로써 색을 변경하였습니다..

라인은 LeftBorderColor LeftBorderStyle 로 각각 라인과 색을 맞추었습니다..


이로써 UltraWebGridExcelExporter 로 멀티해더를 구현했습니다.


해놓고 보면 아무것도 아닌것인데 어떻게든 코드 수를 줄일 방법과 좀더 명시적인 방법을 찾다 보니 이렇게 되었습니다..

검색해서도 답이 나오지 않고 검증된 것도 없어 결국 삽질로…

예로 그냥 단순히 "멀티헤더를 못해요! 따로 만드세요"라는 영문으로 된 사이트를 볼수 있었습니다.

누군가 질문글을 올려놓은 것도 보았는데 답이 없었습니다.


혹시 이렇게 하는 것보다 쉽게 하는 방법이 존재한다면 좀 알려주세요.

신고
posted by Bloody Guy

Visual Studio 2005의 강력한 기능들 중 하나인 "가상 웹 서버" 기능을 사용하다 문제가 발생했습니다.

그것은 경로 문제…

배포 되어야 하는 서버의 경로 위치와 가상 웹 서버의 경로가 틀린 것이 문제가 되어 각 이미지 경로를 변경해야 했는데

개발할 때 배포할 때의 문제를 해결하기 위해서 가상 서버의 경로를 변경할 수 있는 방법을 찾아야 했습니다.

 

열심히 찾아본 결과 webdev.webserver.exe 라는 실행 파일을 찾을 수 있었습니다.

해당 파일의 경로는

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

실행을 하게 되면 해당 옵션이 상세히 들어 납니다.

포트 번호 설정, 물리 경로 설정, 가상 경로를 설정할 수 있습니다.

사용 샘플까지 상세히 나와 사용하는데 불편함이 없습니다.

 

그리고 추가로 프로젝트 속성을 변경해야 할 필요가 있습니다.

이유는 디버깅을 하기 위한 설정입니다.

 

VS WEB 프로젝트의 변경해야하는 속성은

바로 빨간색으로 박싱을 한 부분입니다.

변경한 가상 웹 서버의 경로로 지정을 해주면 되겠습니다.

 

신고
posted by Bloody Guy

기본에 충실하자.

Develop/Tips 2007.11.30 17:57

간혹 이야기하는 중에 서로 다른 것을 가지고 같은 것처럼 이야기하는 경우를 본다.

사용하는 단어가 틀린 것인가 이해관계가 다른 것인가

뭔가 이유가 있을 법한데. 이런 경우 대체로 양보란 있을 수 없고

자기만 맞다 라고 주장한다.

대체로 논리적이지 않고 우기기에 들어가는 이유는 딱 한가지. 어디서 곁다리로 들은 것은 많은데

기본이 없으니 의미도 모르는 대충 짐작으로 때려잡은 기술적 용어를 남발…… 스스로 무덤에 서서히

빠져들게 된다. 그리고 붙는 별명… "우기기 대마왕~~"


내공(기본)이 강하신분들은 대체로 아주 논리적으로 상대를 설득하게 된다.

"당신이 틀리고 내가 맞다" 라고 이유와 근거를 제시하면서


기본이 없으면 높이 올라가기가 상당히 힘들다.

그 기본이란 게 무엇일까 라는 고민을 한다.


단지 문법을 아는 게 기본일까?

절.대. 아니다. 라고 생각한다.


항상 기본에 충실하자…


신고
posted by Bloody Guy

행복한 개발자…

Develop/Tips 2007.11.28 16:09

   

김명호 박사님의 "행복한 개발자가 됩시다." 라는 말씀이 참 쉽지 않음을 생각하게 된다.

김명호 박사님이 말씀하시는 기본.. 그것은 항상 새로운 기술과 새로운 움직임이 평준화하게 될 때

당연히 그것들은 기본이 될 것이고 그 기본은 당연히 알아야 한다. 라는 뜻으로 이해 했다.

새로운 기술에 대한 탐구를 즐기고 그것을 행복해 할 수 있는 개발자.

멋지다.

나도 그렇게 노력해야 한다.

당연하다.

   

왜? 난 개발자라는 직업을 가졌으므로..


항상 비판적인 사고와 미래지향적인 사고가 필요하다. 


참고 기사(한국 MS 최고기술임원 김명호)

http://www.dt.co.kr/contents.htm?article_no=2007112102012469704005

신고
posted by Bloody Guy

Toad 팁

Develop/Tips 2007.11.27 10:34

Toad 에서 키보드 방향키가 안될 때 조치 방법입니다.

   

=======================================================================

1. Close TOAD.

   

2. Locate the PLSQLKEYS.bin file, by default this file is located at:

Toad 8.0 & Earlier - C:\Program Files\Quest Software\TOAD\Temps

Toad 8.5 & Later - C:\Program Files\Quest Software\Toad for Oracle\User Files

   

3. Rename the PLSQLKEYS.bin file to PLSQLKEYS_old.bin.

   

4. Restart TOAD. Launching TOAD will automatically recreate the PLSQLKEYS.bin file, resolving the issue.

=========================================================================

   

토드 종료 후

   

Toad 8.0 & Earlier - C:\Program Files\Quest Software\TOAD\Temps

Toad 8.5 & Later - C:\Program Files\Quest Software\Toad for Oracle\User Files

   

경로에서

   

PLSQLKEYS.bin 파일 삭제

   

   

   

신고
posted by Bloody Guy


티스토리 툴바