[카테고리:] 프로그램 관련
DevExpress 한글 버그 수정.( DEVExpress 관련 버그 수정 방법입니다.( Devexpress V47 이후 버젼, Delphi 2009, 2010 버젼 전용 )
안녕하세요. 오래만에 글을 쓰네요. 퀀텀 관련 delphi 2010에서 퀀텀을 사용하다 보면 TcxTextEdit와 TcxGrid에서 에러나 나타납니다. Delphi 2009이전 버젼이나 Delphi XE 버젼부터 이런 버그는 나타나지 않습니다. 이미…
퀀텀그리드(cxGrid)의 컬럼 Filter내용을 가져오기
어느분인가 질문을 해주셨다. 퀀텀그리드에서 컬럼을 클릭할때 나오는 Filter되는 내용만 뽑아 올수 있냐고 말이다. 컬럼을 클릭해보면 아시겠지만 엑셀의 Filter처럼 나온다. 그내용을 가져오는 방법을 물어 왔다.. 델마당에도…
퀀텀그리드(cxGrid)의 Filter를 코딩으로 하는 방법
cxGrid의 내용을 필터를 걸때 사용하는 방법입니다. 일반적인 방법과 다중 조건을 거는 방법 2개를 올립니다. 단일 조건의 경우 OR 조건을 이용하여 필터를 거는 방법입니다. ( 컬럼1…
PivotGrid그리드의 내용을 Execl로 출력하기 입니다.
PivotGrid그리드의 내용을 Execl로 출력하기 입니다.
1 2 3 4 5 6 7 8 9 |
uses cxExportPivotGridLink; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin cxExportPivotGridToExcel('123.xls', cxDBPivotGrid1); end; |
그리드에서 일요일에 색을 표시하기
cxGrid 및 cxPivotGrid에서 일요일에 색을 다르게 표시하기
1 2 3 4 5 6 7 8 9 10 11 |
var ADate: TDateTime; begin inherited; if ACell.DataField = 그리드_검진계획DBPv예약인원 then begin ADate := EncodeDate(스핀_년도.Value, 스핀_월.Value, StrToIntDef(Copy(ACell.Column.GetDisplayText, 1, 2), 0)); if DayOfWeek(ADate) = 1 then AStyle := DM.그리드_TOTAL; end; end; |
cxTreeList에서 노드를 검색한후에 하위(Child)의 내용을 검사한다.
cxTreeList에서 노드를 검색한후에 하위(Child)의 내용을 검사한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
procedure TForm1.Button1Click(Sender: TObject); var I: Integer; 노드, 노드2 : TcxTreeListNode; begin for I := 0 to cxTreeList1.AbsoluteCount - 1 do begin if cxTreeList1.AbsoluteItems[i].Values[0] = '작업1' then begin 노드 := cxTreeList1.AbsoluteItems[i]; Break; end; end; 노드2 := 노드.getFirstChild; while 노드2 <> nil do begin if 노드2.Values[0] = '2' then Break; 노드2 := 노드.GetNextChild( 노드2 ); end; if 노드2 <> nil then 노드.AddChild; end; |
cxComboBox의 내용을 Code로 조회할때 사용하는 법
cxComboBox의 내용을 조회할때 값외에 코드나 기타 사항을 저장하기 위해 작업하는 내용입니다. 보여지는 값과 가져와야할 코드의 값을 따로 가져와야 할경우 유용하게 사용할듯 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
type 포인트레코드 = ^레코드; 레코드 = record Code : String; name : String; data : Integer; end; procedure TForm1.버튼넣기Click(Sender: TObject); var p : 포인트레코드; I: Integer; begin cxCheckComboBox1.Properties.Items.Clear; for I := 0 to 10 do begin New( p ); p^.Code := IntToStr(i); p^.name := '김말동 - ' + IntToStr(i); p^.data := i; with cxCheckComboBox1.Properties.Items.Add do begin Description := p^.name; Tag := Integer( p ); end; end; end; procedure TForm1.버튼_찾기Click(Sender: TObject); var p : 포인트레코드; I: Integer; begin ListBox1.Items.Clear; for I := 0 to cxCheckComboBox1.Properties.Items.Count - 1 do begin if cxCheckComboBox1.States[i] = cbsChecked then begin p := Pointer( cxCheckComboBox1.Properties.Items[i].Tag ); ListBox1.Items.Add( P^.name ); end; end; end; procedure TForm1.버튼_지우기Click(Sender: TObject); var p : 포인트레코드; I: Integer; begin for I := 10 downto 0 do begin p := Pointer( cxCheckComboBox1.Properties.Items[i].Tag ); Dispose( p ); end; cxCheckComboBox1.Properties.Items.Clear; end; |
Oracle In 명령 사용시 Delphi Unidac에서 사용 방법
동적으로 Query문장의 In 문을 이용하여 데이타를 검색하려면 Oracle에서 SQL문에서 Parameter를 사용하면 문자값으로 적용되기 때문에 Macro를 사용해야 합니다. 아래 소스를 참조해 주세용 with UniQuery do…
cxTreeList의 내용을 복사하기
cxTreeList의 내용을 복사하기 DBTreelist이든 일반이던 모든 내용을 복사 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
var i,j : Integer; N : TcxTreeListNode; begin for I := 0 to aaaa.AbsoluteCount - 1 do begin if aaaa.AbsoluteItems[ i ].Parent = aaaa.AbsoluteItems[ i ].Root then begin with bbbb.AddNode( nil, nil, nil, tlamAddChild ) do begin values[0] := aaaa.AbsoluteItems[ i ].Values[0]; values[1] := aaaa.AbsoluteItems[ i ].Values[1]; values[2] := aaaa.AbsoluteItems[ i ].Values[3]; end; end else begin N := nil; for j := 0 to bbbb.AbsoluteCount - 1 do if bbbb.AbsoluteItems[j].Values[0] = aaaa.AbsoluteItems[ i ].Values[1] then begin N := bbbb.AbsoluteItems[j]; Break; end; with bbbb.AddNode( nil, N, nil, tlamAddChild ) do begin values[0] := aaaa.AbsoluteItems[ i ].Values[0]; values[1] := aaaa.AbsoluteItems[ i ].Values[1]; values[2] := aaaa.AbsoluteItems[ i ].Values[3]; end; end; end; |
퀀텀그리드(cxGrid) 드래그 드롭하기…
퀀텀그리드(cxGrid) 드래그 드롭하기…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
procedure TForm2.cxGrid2TableView1DragDrop(Sender, Source: TObject; X, Y: Integer); var Source_Site: TcxGridSite; Sender_Site: TcxGridSite; idx, 복사할위치, 복사당할위치 : Integer; 복사당할_레코드 : TcxCustomGridRecord; begin if ( Source is TcxDragControlObject ) then begin Source_Site := TcxGridSite( TcxDragControlObject(Source).Control ); Sender_Site := TcxGridSite(Sender); // TcxGridSite( TcxDragControlObject(Sender).Control ); if Source_Site.GridView is TcxGridTableView then begin // TcxGridTableView ( 그리드_사이트.GridView ).ViewInfo.GetHitTest( Point( x,y ) ) ) // 복사할위치 := TcxGridTableView ( TcxGridSite( TcxDragControlObject(Source).Control ).GridView ).Controller.SelectedRecords[0]; if TcxGridTableView ( Sender_Site.GridView ).ViewInfo.GetHitTest( Point( x,y ) ) is TcxGridRecordCellHitTest then 복사당할_레코드 := TcxGridRecordCellHitTest( TcxGridTableView ( Sender_Site.GridView ).ViewInfo.GetHitTest( Point( x,y ) ) ).GridRecord else 복사당할_레코드 := nil; if 복사당할_레코드 <> nil then idx := TcxGridTableView ( Sender_Site.GridView ).DataController.InsertRecord( 복사당할_레코드.RecordIndex ) else idx := TcxGridTableView( Sender_Site.GridView ).DataController.AppendRecord; TcxGridTableView ( Sender_Site.GridView ).DataController.Values[ idx, 0 ] := TcxGridTableView ( Source_Site.GridView ).Controller.SelectedRecords[0].Values[0]; end; end; end; procedure TForm2.cxGrid2TableView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); var 그리드_사이트: TcxGridSite; begin if ( Source is TcxDragControlObject ) then begin 그리드_사이트 := TcxGridSite( TcxDragControlObject(Source).Control ); if 그리드_사이트.GridView is TcxGridTableView then begin Accept := TcxGridTableView ( 그리드_사이트.GridView ) = cxGrid1TableView1; end; end; end; |
최신 댓글