ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.