데브익스프레스 컨트롤 사용하면서 깜박 혹은 이런게 있었나 그런가 ㅎㅎ~
### 그리드 컨트롤에서 Row_Style 이벤트에서 컬러가 적용 안될 경우
아래 속성 확인
HighPriority = true;
### 컬럼편집기(Column Chooser) 안나오는 이유. True면 나옴.
grvMain4.OptionsCustomization.AllowColumnMoving = false
-- 컬럼편집기에서 숨김컬럼 안나오는거
gridColumn403.OptionsColumn.ShowInCustomizationForm = false;
### 그리드 숫자 컬럼
1. 컬럼에디트에 repositoryItemTextEdit1 으로 지정함. 스핀에디터 보다는 텍스트 박스가 좋음.
1-1. 텍스트 에디터 마스크에 Edtimask에 n1 지정. 소수점 자릿수에 따라 n2, n3... 이러면 됨. MaskType = Numeric
1-2. display시에도 포맷 보여줄지 여부를 true로.
2. DisplayFormat에 FormatString = "#,#.#", FormatType = Numeric 으로 지정
2-1. UnboundType에 Decimal. 항상 디스플레이 포맷과 언바운드 타입은 짝궁임.
### 그리드 저장시 입력상태 마무리.
gridView1.CloseEditor();
gridView1.UpdateCurrentRow();
### 그리드 헤더클릭
private void grvOrderFileList_Click(object sender, EventArgs e)
{
Point hitPoint = grdOrderFileList.PointToClient(MousePosition);
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi
= (grdOrderFileList.MainView as DevExpress.XtraGrid.Views.Grid.GridView).CalcHitInfo(hitPoint);
if (hi.InRow) // 행클릭
{
}
else if (hi.InColumn) // 헤더클릭
{
if (hi.Column == gridColumn2)
{}
}
}
### 그리드 밴드 소팅
private void advBandedGridView1_MouseDown(object sender, MouseEventArgs e)
{
BandedGridHitInfo hi = advBandedGridView1.CalcHitInfo(e.Location);
if (hi.InBandPanel)
{
if (hi.Band == gridBandAttach) return; //첨부 컬럼은 소팅할게 없어.
//선택 컬럼이외엔 소팅 초기화.
foreach (DevExpress.XtraGrid.Views.BandedGrid.GridBand band in advBandedGridView1.Bands)
{
if (band == gridBandNom1) { }
if (band.HasChildren == false)
{
if (hi.Band.Columns[0] != band.Columns[0])
band.Columns[0].SortOrder = ColumnSortOrder.None;
}
else
{
foreach (DevExpress.XtraGrid.Views.BandedGrid.GridBand child_band in band.Children)
{
if (hi.Band.Columns[0] != child_band.Columns[0])
child_band.Columns[0].SortOrder = ColumnSortOrder.None;
}
}
}
//소오팅~
if (hi.Band.Columns[0].SortOrder == ColumnSortOrder.Ascending)
hi.Band.Columns[0].SortOrder = ColumnSortOrder.Descending;
else
hi.Band.Columns[0].SortOrder = ColumnSortOrder.Ascending;
}
}
### 달력 컨트롤 월만 선택되게
-- 뷰 스타일을 YearView 로 하면 됨. 그러면 월만 나옴
RIT_BDATE.VistaCalendarViewStyle = DevExpress.XtraEditors.VistaCalendarViewStyle.YearView;
-- display type을
FormatString = y
FormatType = DateTime
Mask는
EditMask = y
이렇게 3곳을 설정하면 됨.
### 리본 콤보박스 초기화
cboDELREASON.EditValue = RIC_DELREASON.Items[0].Value;
cboDELREASON : Bar Edit Item. 리본에서 사용하는 에디터 컨트롤.
RIC_DELREASON : repository image Combo Box.
리본에 있는 콤보박스에는 인덱스 설정 정보가 없어. Value 첫번째 값을 넣는 방식으로 초기값 설정함.
다른곳에서는 selectedindex =0 혹은 defaultindex = -1 등의 정보가 있다.
### 리본 콤보박스 텍스트값 가져오기
string term = RIC_TERM.GetDisplayText(cboTerm.EditValue);
### 클립보드to그리드
private void btnPaste_Click(object sender, EventArgs e)
{
string[] data = Clipboard.GetText().Split('\n');
if (data.Length < 1) return;
foreach (string row in data)
{
AddRow(row);
}
}
void AddRow(string data)
{
if (data == string.Empty) return;
string[] rowData = data.Split(new char[] { '\r', '\x09' });
DataRow newRow = _dtProj.NewRow();
for (int i = 0; i < rowData.Length; i++)
{
if (i >= _dtProj.Columns.Count) break;
newRow[i] = rowData[i];
}
_dtProj.Rows.Add(newRow);
}