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;
제발 제글을 자신이 한것처럼 하지는 맙시다.
그리고 그런짓을해서 돈 벌었으면 알려주기라도 하시오.
누구 때문에 내가 막대한 피해를 입었단 말이오.
정말 걸리면 법적 제제가 가할겁니다.
최신 댓글