|
정성훈.해미 님이 쓰신 글 :
: cxGrid1DBTableView에 보면
: ClearItems() 함수가 있습니다.
: 현재 모든 칼럼을 지워줍니다.
:
: 칼럼을 처음 추가할 때 아래의 코드를 넣으세요.
:
: cxGrid1DBTableView1->ClearItems();
:
: 예)
: #include "DateUtils.hpp" //월별 마지막 날짜 구하는 함수용, DaysInMonth()
:
:
: cxGrid1DBTableView1->ClearItems(); // 모두 지우기
:
: for(int i=0; i<DaysInMonth(Now()); i++) {
: TcxGridDBColumn* pDBColumn;
: pDBColumn = cxGrid1DBTableView1->CreateColumn(); // 칼럼 추가
: pDBColumn->Caption = IntToStr(i+1) + "일";
: }
:
: 추신:
: 위 방법 보다는 무조건 31개 칼럼을 만들어 놓고
: 해당 월에 필요없는 날짜 칼럼만 숨기기하면 더 편합니다.
: 그러면 DB 쿼리를 하나로 가져갈 수 있습니다.
:
:
:
:
: 그리드그리드 님이 쓰신 글 :
: : cbYear->Properties->Items->Clear(); //--------------------------------------->>여기부터
: : cbYear->Properties->Alignment->Horz = taCenter;
: : DBModule->Query->SQL->Text =" SELECT DISTINCT TO_CHAR(CONNECT_DATE, 'YYYY') AS YEAR "
: : " FROM PERIOD "
: : " ORDER BY YEAR DESC ";
: : DBModule->Query->Open();
: : cbYear->Properties->BeginUpdate();
: : while (!DBModule->Query->Eof) {
: : AnsiString sVal = DBModule->Query->FieldByName("YEAR")->AsAnsiString;
: : cbYear->Properties->Items->Add(sVal);
: : cbYear->Properties->DropDownListStyle = lsFixedList;
: : DBModule->Query->Next();
: : }
: : cbYear->Properties->EndUpdate();
: : DBModule->Query->Close();
: : cbYear->ItemIndex = 0; //------------------------------------------------->>여기까지
: :
: : 콤보박스의 항목은 이렇게 동적으로 가져왔는데요
: :
: : 컬럼은 도저히 모르겠네요.
: :
: : 예를 들어서 일별로 조회버튼을 클릭 하면
: :
: : 1일 2일 3일 4일 5일 ......................30일
: : 집
: : 회사
: :
: : 이렇게 나와야하는데요 월마다 일수가 30일인날도 있고 31일인 날도있잖아요 그래서
: : 30일이 있는날은 30일까지만 컬럼이생성되고 31일은 또 31까지 생성되게하고싶구요
: : DB에 날짜는 다 저장되어있습니다.
: : 버튼을 누를때마다 계속 컬럼이 생기는게 아니라 누를떄마다 새로 그리고 더 늘어나지 않도록하고싶습니다
: :
: :
: :
: :
: :
|