-
cxGrid(TcxGridTableView)C++ Builder/DevExpress 2019. 3. 14. 14:50
#Cell 데이터 가져오기.
OnCellDblClick() 의 인자 중에서 TcxGridTableDataCellViewInfo *ACellViewInfo
ACellViewInfo->Value; // 셀 데이터
#그리드 (멀티)셀렉트 인덱스정보 가져오기.
TcxGridDataController *pDataCtrl;
pDataCtrl = grdUsageView->DataController;
int iCount = pDataCtrl->GetSelectedCount();
TcxRowInfo RowInfo;
for(int i=0; i<iCount; i++){
RowInfo = pDataCtrl->GetRowInfo(pDataCtrl->GetSelectedRowIndex(i)); // 선택된 행의 정보를 RowInfo에 대입
if(pDataCtrl->GetRowValue(RowInfo, 14) != "요청"){ // GetRowValue(행의 정보, 열의 번호)
return;
}
}
# 그리드내용 엑셀로 내보내기
ExportGridToExcel() 함수사용.
#TcxGridTableView
@OptionsData // 데이터 편집 및 삭제기능등.
@OptionsView // 칼럼좌우 꽉채우기등 데이터가 보여지는 옵션변경.
->ColumnAutoWidth // True시 Grid사이즈에 맞게 칼럼좌우 꽉 채움.
// #Column의 Options의 AutoWidthSizeable 을 false로 하면 해당 칼럼은 고정 Width로하고 나머지 칼럼으로 좌우 꽉채움.
# 데이터 Row color 변경
//---------------------------------------------------------------------------
void __fastcall TUserGridF::grdUserViewCustomDrawCell(TcxCustomGridTableView *Sender,
TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
bool &ADone)
{
// m_iIndex에 저장되어있는 값과 같은 레코드인덱스를 색상변경.
if( m_iIndex == AViewInfo->GridRecord->Index){
ACanvas->Brush->Color = 0x00FF0080;
}
}
//---------------------------------------------------------------------------
void __fastcall TUserGridF::grdUserViewColumn2CustomDrawCell(TcxCustomGridTableView *Sender,
TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
bool &ADone)
{
// m_iIndex에 로그인유저의 이름과 같은 값을 가지는 레코드인덱스를 저장
if(AViewInfo->Text == m_pAppInfo->LoginUser){
m_iIndex = AViewInfo->RecordViewInfo->Index;
}
}
//---------------------------------------------------------------------------
# 데이터 셀의 폰트 or 셀 color 바꾸기
@OnCustomDrawCell 이벤트 속성
// 13번열(Column)의 데이터
void __fastcall TUsageGridF::grdUsageViewColumn13CustomDrawCell(TcxCustomGridTableView *Sender,
TcxCanvas *ACanvas, TcxGridTableDataCellViewInfo *AViewInfo,
bool &ADone)
{
if(AViewInfo->Text == "완료"){ // 데이터 텍스트가 "완료"이면
ACanvas->Font->Color = clGreen; // 폰트 컬러를 녹색으로
// ACanvas->Font->Color = 0x0000FF80; // 값을 지정해서 넣을때 0x(컬러값)
}
}
#칼럼속성
DataBinding->ValueType // 칼럼에 속하는 데이터타입지정 (데이터값이 날짜일경우 DateTime으로 지정하면 정렬시에 시분초단위까지 정렬가능)
@OptionsView->GridLines // 그리드 데이터 구분선 지정
@HeaderAlignmentHorz // 칼럼 caption 정렬
@HeaderAlignmentVert // 칼럼 caption 정렬
@SortOrder // 오름차순, 내림차순 지정
@Properties // 데이터 포맷 지정후 해당 칼럼의 데이터 Alignment 조정가능 (그 밖에 여러가지 속성 지정가능)
TcxGridDataController *pDataCtrl;
pDataCtrl = grdUserView->DataController;
pDataCtrl->GetRecordCount() // 그리드에 표출된 아이템 갯수 반환.
pDataCtrl->GetRowCount() // 그리드에 표출된 아이템 갯수 반환.
pDataCtrl->GetItemCount() // 그리드 행의 아이템 개수(열의 갯수) 반환.
pDataCtrl->GetEditingRecordIndex() // 현재 선택된 그리드 행의 index 값을 반환.
pDataCtrl->GetDisplayText(1,0) // (1 행, 0열) 의 Text를 반환.
pDataCtrl->GetValue(1,0) // (1 행, 0열) 의 값을 반환.
ex)pDataCtrl->GetValue(pDataCtrl->GetEditingRecordIndex(), 6)// pDataCtrl->GetEditingRecordIndex() 행 6열의 데이터값.728x90'C++ Builder > DevExpress' 카테고리의 다른 글
devexpress 설치(Rad 10.3.3 버전) (0) 2020.01.20 TcxComboBox (0) 2019.03.21 cxImage (0) 2019.02.26 cxButton (0) 2019.02.25 #LookAndFeel (0) 2019.01.07 댓글