Site icon EagleSoft

퀀텀그리드(cxGrid)의 Filter를 코딩으로 하는 방법

cxGrid의 내용을 필터를 걸때 사용하는 방법입니다.

일반적인 방법과 다중 조건을 거는 방법 2개를 올립니다.

단일 조건의 경우

OR 조건을 이용하여 필터를 거는 방법입니다.

( 컬럼1 like ‘%는값%’ ) or ( 컬럼2 like ‘%찾는값%’ )

위와 같은 경우 아래와 같이 코딩합니다.

그리드TV.DataController.Filter.Clear;
그리드TV.DataController.Filter.Root.BoolOperatorKind := fboOr;
그리드TV.DataController.Filter.Root.AddItem(첫번째 그리드 컬, foLike, ‘%’ + 찾을값 + ‘%’, 필터내용을 화면에표시할내용 );
그리드TV.DataController.Filter.Root.AddItem(두번째 그리드 컬, foLike, ‘%’ + 찾을값 + ‘%’, 필터내용을 화면에표시할내용 );
그리드TV.DataController.Filter.Active := true;

다중 조건을 거는 방법

상위는 And이고 하위는 OR 조건을 이용하여 필터를 거는 방법입니다.

( ( 컬럼1 =는값’ ) or ( 컬럼2 = ‘찾는값’ ) )

AND

( ( 컬럼3 =는값’ ) or ( 컬럼4 = ‘찾는값’ ) )

 

위와 같은 경우 아래와 같이 코딩합니다.

그리드TV.DataController.Filter.BeginUpdate;
그리드TV.DataController.Filter.Active := False;
그리드TV.DataController.Filter.Clear;
그리드TV.DataController.Filter.Root.BoolOperatorKind := fboAnd;

첫번째Filter := 그리드_증상tv.DataController.Filter.Root.AddItemList( fboOr );
첫번째Filter.AddItem( 첫번째 그리드 컬, foEqual , ‘찾을값’, 필터내용을 화면에표시할내용 );
첫번째Filter.AddItem( 두번째 그리드 컬, foEqual , ‘찾을값’, 필터내용을 화면에표시할내용 );

두번째Filter:= 그리드_증상tv.DataController.Filter.Root.AddItemList( fboOr );
두번째Filter.AddItem( 세번째 그리드 컬, foEqual , ‘찾을값’, 필터내용을 화면에표시할내용 );
두번째Filter.AddItem( 네번째 그리드 컬, foEqual , ‘찾을값’, 필터내용을 화면에표시할내용 );

그리드TV.DataController.Filter.Active := True;
그리드TV.DataController.Filter.EndUpdate;

제발 제글을 자신이 한것처럼 하지는 맙시다.

그리고 그런짓을해서 돈 벌었으면 알려주기라도 하시오.

누구 때문에 내가 막대한 피해를 입었단 말이오.

정말 걸리면 법적 제제가 가할겁니다.

Exit mobile version