엑셀 내보내기시 이런 식으로 (모든 컬럼이 최소사이즈로) 출력된다면..

 

 

당황하지 말고

BestFitColumns 메소드를 이용하면 해결됨..

 

단.. BestFitColumns 전에 AutoWith 값을 false로 해줘야함.

 

advBandedGridView.OptionsPrint.AutoWidth = false;
advBandedGridView.OptionsView.ColumnAutoWidth = false;
advBandedGridView.BestFitColumns();

이건 삽질 1시간 짜리임.

 

* 참고 :  https://www.devexpress.com/Support/Center/Question/Details/Q253087

 

 

Tip.하나 더~

 

Band Header width 에 Column Width를 맞추고 싶다면

 

private void BestFitBands(AdvBandedGridView view)
{
            view.BeginUpdate();
            view.OptionsView.ShowColumnHeaders = true;
            foreach (BandedGridColumn col in view.Columns)
                col.Caption = col.OwnerBand.Caption;
            view.BestFitColumns();
            view.OptionsView.ShowColumnHeaders = false;
            view.EndUpdate();
}

 

요기서 발췌함. ( https://www.devexpress.com/Support/Center/Question/Details/Q304079 )

 

 

반응형

엑셀 출력시.. 가장쉬운 방법이

Grid에 Data Binding 한 후 그대로 Export 하는 방법인데..


//

gridControl.ExportToXlsx(path);


했더니 .. 그리드 헤더 부분이 아래처럼 Grouping 되서 출력된다...


문제는 ExportType!


// Export 시, 아래처럼 옵션을 설정할 수 있다

XlsxExportOptionsEx xlsxOptions = new XlsxExportOptionsEx();
xlsxOptions.ShowGridLines = true;   // 라인출력 
xlsxOptions.SheetName = "test";    // sheet 명
xlsxOptions.ExportType = DevExpress.Export.ExportType.WYSIWYG;    // ExportType

gridControl.ExportToXlsx(exportFilePath, xlsxOptions);


WYSIWYG (위지윅)이란? what you see is what you get  (보이는 데로 얻는다. )

보이는 그데로 출력된다는 IT 용어.


 



이제야 내가 의도한데로 나옴.. 삽질 3시간함.


자세한 설명은 아래 링크 참조 ..

https://documentation.devexpress.com/#WindowsForms/CustomDocument17733



하나 더..

그리드에서 Export 할때 유용한 Method ..


http://stackoverflow.com/questions/14583067/devexpress-export-gridview-to-excel


// 위 Link에서 내용 발췌

private void mnuExportTable_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
    using (SaveFileDialog saveDialog = new SaveFileDialog())
    {
        saveDialog.Filter = "Excel (2003)(.xls)|*.xls|Excel (2010) (.xlsx)|*.xlsx |RichText File (.rtf)|*.rtf |Pdf File (.pdf)|*.pdf |Html File (.html)|*.html";
        if (saveDialog.ShowDialog() != DialogResult.Cancel)
        {
            string exportFilePath = saveDialog.FileName;
            string fileExtenstion = new FileInfo(exportFilePath).Extension;

            switch (fileExtenstion)
            {
                case ".xls":
                    gridControl.ExportToXls(exportFilePath);
                    break;
                case ".xlsx":
                    gridControl.ExportToXlsx(exportFilePath);
                    break;
                case ".rtf":
                    gridControl.ExportToRtf(exportFilePath);
                    break;
                case ".pdf":
                    gridControl.ExportToPdf(exportFilePath);
                    break;
                case ".html":
                    gridControl.ExportToHtml(exportFilePath);
                    break;
                case ".mht":
                    gridControl.ExportToMht(exportFilePath);
                    break;
                default:
                    break;
            }

            if (File.Exists(exportFilePath))
            {
               try
               {
                   //Try to open the file and let windows decide how to open it.
                   System.Diagnostics.Process.Start(exportFilePath);
                }
                catch
                {
                    String msg = "The file could not be opened." + Environment.NewLine + Environment.NewLine + "Path: " + exportFilePath;
                    MessageBox.Show(msg, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
             }
             else
             {
                 String msg = "The file could not be saved." + Environment.NewLine + Environment.NewLine + "Path: " + exportFilePath;
                 MessageBox.Show(msg, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
        }
    }
}


반응형

 

Hyper-v 로 XP 설치는 했으나 .. 네트웤 아댑터가 보이지 않아 삽질... 끝에 ... 알아냄.

가상 스위치를 레거시 네트워크 아댑터로 설정해한다는 것 을...

 

 

 

 

 

http://www.download3k.com/articles/How-to-add-an-XP-Mode-Virtual-Machine-to-Windows-10-or-8-using-Hyper-V-00770#1

 

위 링크를 보면 아주 친절하게 설명되어있다.

XP 가상 머신을 MS에서 배포하고 있음. ( 그런데 영문판임 )

 

아주 유용한 URL이다.

 

 

 

반응형


블로그를 시작하고..

열심히 하리라 다짐했다..

구글 에드센스를 달고..

방치 ..

4년 후, 드디어 100불을 돌파했다. ㅎㅎ


구글 에드센스는 수입이 100불이상이면 지급해준다.

2015년 11월 24일 지급 완료.. 후

수표 분실된 줄 알았는데..

2016년 1월 7일에 받았다. ( 미국이 좀 멀긴하지만..  겁나 오래걸린다. )

참고로, 수표 지급후 60일이 경과하면 재발급 신청이 가능하다.

재발급 신청할려고 했는데 다행이 약 40일만에 도착했다.


걍 종이 쪼가리다. (집 주소는 제거)



수표 앞면.


수표 뒷면.


오늘 기업은행가서 환전했다. (누가 그러는데 환전은 기업은행이 짱이라고~)

추심수수료 5000원 나왔다. (이건 바로 현금으로 냈음)

여기저기 찾아보니 추심수수료가 많이 나온다고 해서 걱정했는데.. (배보다 배꼽이 더 클까봐)

다행이다.



은행 간김에..

외환 계좌도 하나 개설했다.

다음이... 또 있을지 모르겠으나, 그때는 계좌로 바로 받으련다.

이상 끝~





반응형


프로그램 업데이트를 받다 보면 .. 종종..

 이렇게 예쁜 프로그램 아이콘이 사라지고  이렇게 나오는경우가 생긴다.


그럴때는


http://superuser.com/questions/668986/why-are-icons-missing-for-certain-programs-in-win7


이렇게 해주니 해결된다.


1. 아래 코드로 bat 파일을 생성하고


 taskkill /F /IM explorer.exe
 cd /d %UserProfile%\AppData\Local
 attrib –h IconCache.db
 del IconCache.db
 start explorer


2. C:\users\<UserName>\appdata\local\ IconCache.db. 파일을 삭제한후

3. 1에서 만든 bat 파일을 실행하면 없어진 아이콘 이미지가 살아난다.









반응형

왼쪽 라이트가 밝다 싶더니

확인해보니 오른쪽 라이트가 나갔다.

 

현대차 부품점가서 라이트 전구 하나 샀다

5000원 비싸다.

온라인으로 사면 더 싸다. 

걍, 마트 가도 다 판다...

아반떼 hd는 H7 사면 된다.

 

 

보닛을 열고 워셔액 투입구 뒤, 라이트 캡을 시계 반대방향으로 돌려 연다.

 

라이트 전구를 빼고 새전구를 넣으면 끝이다.

(전구는 핀으로 고정되있다. 먼저 전선을 뽑고, 그 다음 핀제거 하고 헌 전구 빼고 새전구 넣고 핀 끼우고 전선 끼우면 된다.

전선은 전기 플러그 처럼 쉽게 뺐다 꽂을 수 있다)

 

센터 가면 공임을 얼마나 받을지 궁금하다.

아무것도 모르면 눈탱이 맞겠지?

 

새 전구다.

 

 

교체후 라이트 켜보니 잘 켜진다.

근데 좌/우 밝기가 다른 것 같다..

마트에서 2개 한세트 사서 둘 다 교체할 걸... 그랬다.

암튼, 라이트 전구 교체 완전 쉽다.

반응형


https://www.devexpress.com/Support/Center/Question/Details/T109932



다중선택 모드인 경우

몇 Row 선택후 Filtering 하게 되면 이전 선택정보를 잃어버리는데..

아래 처럼 하면 선택된 Row를 저장하게됨.

위 링크 참조 소스는 링크에서 맨 밑 첨부파일에서 발췌함.



void SubscribeEvents()

{    

          gridView1.MouseDown += new MouseEventHandler(gridView1_MouseDown);
            gridView1.MouseUp += new MouseEventHandler(gridView1_MouseUp);
            gridView1.ColumnFilterChanged += gridView1_ColumnFilterChanged;
        }

        void gridView1_ColumnFilterChanged(object sender, EventArgs e)
        {
            RestoreSelection(sender as GridView);
        }

        void RestoreSelection(GridView view)
        {
            BeginInvoke(new Action(() =>
            {
                for (int i = 0; i < selectedRows.Count; i++)
                    view.SelectRow(view.GetRowHandle(selectedRows[i]));
            }));
        }

        List<int> selectedRows = new List<int>();
        void gridView1_MouseUp(object sender, MouseEventArgs e)
        {
            GridView view = sender as GridView;
            RestoreSelection(view);
        }

        void gridView1_MouseDown(object sender, MouseEventArgs e)
        {
            GridView view = sender as GridView;
            GridHitInfo hi = view.CalcHitInfo(e.Location);
            if (hi.Column.FieldName == "DX$CheckboxSelectorColumn")
            {
                if (!hi.InRow)
                {
                    bool allSelected = view.DataController.Selection.Count == view.DataRowCount;
                    if (!allSelected)
                    {
                        for (int i = 0; i < view.RowCount; i++)
                        {
                            int sourceHandle = view.GetDataSourceRowIndex(i);
                            if (!selectedRows.Contains(sourceHandle))
                                selectedRows.Add(sourceHandle);
                        }
                    }
                    else selectedRows.Clear();
                }
                else
                {
                    int sourceHandle = view.GetDataSourceRowIndex(hi.RowHandle);
                    if (!selectedRows.Contains(sourceHandle))
                        selectedRows.Add(sourceHandle);
                    else
                        selectedRows.Remove(sourceHandle);
                }
            }
            RestoreSelection(view);
        }

반응형

 var query = from s in context.Books
                            select new
                            {

BookName = s.Name,

BookNo = s.BookNo

};    



위의 Linq 구문을 실행하면 아래 그림과 같은 에러가 발생한다.



원인은 BookNo 의 Type 때문이다.  BookNo의 Type은  Nullable<int> 이다.


해결 방법은 아래와 같이 BookNo 의 Type을 Cast 해준다.


var query = from s in context.Books
                            select new
                            {

BookName = s.Name,

BookNo = (int?) s.BookNo

};    

반응형






자라섬 좀 가볼라고 .. 시간맞춰 예약눌렀더니 예약실패[잘못된 정보입니다.] ~!

저렇게 생겨먹은 예약사이트는 다 안됨.

한탄강관광지도 예약안됨. 동일 메시지 발생~

문의해보니 .. 컴퓨터 시간을 휴대전화 시간하고 맞추라고 함.

맞추고 해도 안됨.. 

..

해결 방법은....

날짜 시간만 맞추면 되는게 아니라 표준시간대를 서울로 맞춰야함.

근데 난 수정한적이 없는데. 도데체 누가 바꾼건지.. 흠






반응형




원인  :  ASP.Net was not completely installed with IIS

해결 :    %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

32bit 인 경우

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

 



[출처] : http://stackoverflow.com/questions/6846544/how-to-fix-handler-pagehandlerfactory-integrated-has-a-bad-module-managedpip

반응형

+ Recent posts