320x100
|
WinGrid 를 편리하게 사용하기 위해서 프레임워크로 만들었습니다.
컬럼을 정렬 생성하고, 그리드의 매스크등을 셋팅을 편리하게 할 수 있습니다.
1차 구현 현황
Windows Form UltraWinGrid Infragistics Netadvantage 2008.3 CLR2.0 버전 ver 0.1
1. 컬럼헤더 fix(고정) / 컬럼헤더 스타일 지정 / 이동고정 및 이동가능
2. row numbering 처리
3. 셀 정렬기능
4. 셀 maskedit 처리
* varchar형 무자열 숫자를 maskedit로 원하는 포멧으로 표현
5. 셀 타입지정( 버튼, 콤보, 달력 등)
6. 포멧형 (숫자의경우 글러벌 통화 단위 지정 및 , 자동세팅)
7. 홀수줄 마다 원하는 줄번호 색 세팅
8. 셀 편집여부 지정
9. 엑셀다운로드 기능
2. row numbering 처리
3. 셀 정렬기능
4. 셀 maskedit 처리
* varchar형 무자열 숫자를 maskedit로 원하는 포멧으로 표현
5. 셀 타입지정( 버튼, 콤보, 달력 등)
6. 포멧형 (숫자의경우 글러벌 통화 단위 지정 및 , 자동세팅)
7. 홀수줄 마다 원하는 줄번호 색 세팅
8. 셀 편집여부 지정
9. 엑셀다운로드 기능
# 사용하기
참고링크 : http://cdmanii.tistory.com/684
# 핵심 소스부분
< Using 하기 >
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using System.Drawing;
using Infragistics.Win.UltraWinMaskedEdit;
using System.Globalization;
using System.Data;
using Infragistics.Win.UltraWinGrid.ExcelExport;
using System.IO;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using Infragistics.Win.UltraWinGrid;
using Infragistics.Win;
using System.Drawing;
using Infragistics.Win.UltraWinMaskedEdit;
using System.Globalization;
using System.Data;
using Infragistics.Win.UltraWinGrid.ExcelExport;
using System.IO;
< 그리드의 속성을 지정하기 >
//================================== Class History Comments ==================================
// 파 일 명 : GridUtil.cs
// 최초작성자 : Park Kwang Ho
// 최초작성일 : 2009.01.15
//
// 수정이력
// -------------------------------------------------------------------------------------------
// 수정일 수정자 수정내용
// -------------------------------------------------------------------------------------------
//============================================================================================
/// <summary>
/// UltraWinGrid 디자인속성 세팅, Align, 컬럼헤더 지정, 컬럼Span
/// </summary>
/// <summary>
/// Sets the grid format.
/// </summary>
/// <param name="winGrid">The win grid.</param>
/// <param name="gridType">Type of the grid.</param>
/// <param name="scrollDirection">The scroll direction.</param>
public static void SetGridFormat(UltraGrid winGrid, string gridType, Scrollbars scrollDirection)
{
// 컬럼클리어함
winGrid.DisplayLayout.ClearGroupByColumns();
// 컬럼 자동생성 해지
winGrid.DisplayLayout.NewColumnLoadStyle = NewColumnLoadStyle.Hide;
// 스크롤바 설정
winGrid.DisplayLayout.Scrollbars = scrollDirection;
// 자동컬럼크기
winGrid.DisplayLayout.AutoFitStyle = AutoFitStyle.ResizeAllColumns;
// 그리드 캡션 안보이게 설정함
winGrid.DisplayLayout.CaptionVisible = DefaultableBoolean.False;
winGrid.DisplayLayout.ColumnChooserEnabled = DefaultableBoolean.True;
winGrid.DisplayLayout.Bands[0].ExcludeFromColumnChooser = ExcludeFromColumnChooser.True;
// GroupByBox 설정
//winGrid.DisplayLayout.GroupByBox.ShowBandLabels = ShowBandLabels.All;
//winGrid.DisplayLayout.GroupByBox.Prompt = "컬럼 그룹박스 텍스트";
//winGrid.DisplayLayout.GroupByBox.PromptAppearance.BackColor = Color.Blue;
winGrid.DisplayLayout.GroupByBox.Hidden = true;
//TabKey누르면 다음셀로이동 // Set the behaviour of tab keys in the UltraGrid.
winGrid.DisplayLayout.TabNavigation = TabNavigation.NextCell;
winGrid.DisplayLayout.Appearance.TextHAlign = HAlign.Left;
// 헤더 색상설정
winGrid.DisplayLayout.Override.HeaderAppearance.BackColor = Color.SteelBlue;
winGrid.DisplayLayout.Override.HeaderAppearance.BackColor2 = Color.SteelBlue;
winGrid.DisplayLayout.Override.HeaderAppearance.ForeColor = Color.White;
winGrid.DisplayLayout.Override.HeaderAppearance.FontData.Bold = DefaultableBoolean.True;
//홀수줄 색깔지정
winGrid.DisplayLayout.Override.RowAlternateAppearance.BackColor = Color.Snow;
//헤더속성
winGrid.DisplayLayout.UseFixedHeaders = true;
winGrid.DisplayLayout.Bands[0].Override.FixedHeaderIndicator = FixedHeaderIndicator.None;
//winGrid.DisplayLayout.Override.FixedHeaderAppearance.BackColor = Color.LightYellow;
//winGrid.DisplayLayout.Override.FixedCellAppearance.BackColor = Color.LightYellow;
//winGrid.DisplayLayout.Override.FixedCellSeparatorColor = Color.Red;
winGrid.DisplayLayout.Bands[0].Override.HeaderStyle = HeaderStyle.WindowsXPCommand; //헤더 스타일
winGrid.DisplayLayout.Bands[0].Override.HeaderAppearance.TextHAlign = HAlign.Center; //헤더정렬: Center
#region ---- row numbering ----
// Set the RowSelectorNumberStyle to enable the row-numbers.
winGrid.DisplayLayout.Override.RowSelectorNumberStyle = RowSelectorNumberStyle.VisibleIndex;
// You can control the appearance of the row numbers using the RowSelectorAppearance.
winGrid.DisplayLayout.Override.RowSelectorAppearance.ForeColor = Color.White;
winGrid.DisplayLayout.Override.RowSelectorAppearance.FontData.Bold = DefaultableBoolean.True;
// You can explicitly set the width of the row selectors if the default one calculated
// by the UltraGrid is not enough.
// 로우넘버링 넓이
winGrid.DisplayLayout.Override.RowSelectorWidth = 40;
// RowSelectors indicate whether row selectors are displayed. Each row has a row selector
// on the left side of the row. It's used to activate and select rows. Row selectors are
// visible by default, however you can set the RowSelectors property on the override to
// False to hide the row selectors.
winGrid.DisplayLayout.Bands[0].Override.RowSelectors = DefaultableBoolean.True;
// You can use the RowSelectorAppearance property customize the appearance of the row selectors.
// 색상지정 및 가운데 정렬
winGrid.DisplayLayout.Override.RowSelectorAppearance.BackColor = Color.SteelBlue;
winGrid.DisplayLayout.Override.RowSelectorAppearance.BackColor2 = Color.SteelBlue;
winGrid.DisplayLayout.Override.RowSelectorAppearance.TextHAlign = HAlign.Center;
// You can override that grid-wide setting for a particular band by setting it on the
// override of that band.
//winGrid.DisplayLayout.Bands[1].Override.RowSelectors = DefaultableBoolean.False;
#endregion
// Wingrid Unbinding 상태에서는 Row NewAdd()를 할수가 없다. 그래서 빈로우를 바인드 시킴
// 조회후 Bind된 상태에서는 Row NewAdd()가 가능하다
DataSet rtnDs = new DataSet();
rtnDs.Tables.Add("_BlinkTable");
//ultraGrid1.DisplayLayout.AddNewBox.Hidden = false; //AddNew 안보이게 설정함
winGrid.DataSource = rtnDs;
winGrid.DataBind();
switch (gridType.ToUpper().ToString())
{
case "S":
// onserver만 컬럼이동가능
// 그리드속성 셀선택만 가능(모든셀 편집막음)
winGrid.DisplayLayout.Override.CellClickAction = CellClickAction.CellSelect;
winGrid.DisplayLayout.Override.ActiveRowCellAppearance.BackColor = Color.Snow;
winGrid.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.Black;
break;
case "E":
// 컬럼이동불가능
winGrid.DisplayLayout.Override.CellClickAction = CellClickAction.EditAndSelectText;
winGrid.DisplayLayout.Override.ActiveCellAppearance.BackColor = Color.Snow;
winGrid.DisplayLayout.Override.ActiveCellAppearance.ForeColor = Color.Black;
break;
case "N;":
// 컬럼이동불가능
break;
}
}
< 컬럼 속성을 지정합니다 >
컬럼속성을 아래와 같은 원형이고 소스는 모두 공개하지 않겠습니다.
별거는 아니지만 요청하신 분의 메일이나 블로그 정보가 없어서 모두 공개하지 않겠습니다.
의도를 알려주시면 모두 공개하겠습니다. ^^
아래와 같은 원형으로 오버로드하여 쓰는 방향으로 작성하였습니다.
public static void SetGridColumnFormat(UltraGrid winGrid,
string sColName, string sColKey, string sColType, int pnWidth, HAlign
sAlign, Activation AllowUpdate, bool sHidden, bool fixColKey, string
sDataMask)
{
{
# 추가
인프라로직스의 How-To 를 참고하여 프레임워크를 완성하였습니다.
|
반응형
'소프트웨어 > 3rd Part' 카테고리의 다른 글
UltraWinTree 클릭후 포커스 Enter/Out 시 색상지정 (5) | 2009.03.02 |
---|---|
스마트클라이언트 이해와 배포시나리오 (27) | 2009.02.25 |
Export UltraWinGrid to Excel (WinGird에서 엑셀로 내려받기) (5) | 2009.01.30 |
Windows Form UltraWinGrid Infragistics Netadvantage 2008.3 CLR2.0 버전 ver 0.1 (5) | 2009.01.20 |
UltraWinGrid 의 Grid의 GroupBoxBy 예제입니다. (4) | 2009.01.17 |
댓글