본문 바로가기
ASP.NET

ObjectDataSource 에서 Select Filter 사용 해보기

by Hwoarang757 2013. 2. 1.

//ObjectDataSource의 파라미터 정의

ObjectDataSource.SelectParameters["IN_PARAM_A"].DefaultValue = Session["IN_PARAM_A"].ToString();

ObjectDataSource.SelectParameters["IN_PARAM_B"].DefaultValue = Session["IN_PARAM_B"].ToString();

ObjectDataSource.SelectParameters["IN_PARAM_C"].DefaultValue = Session["IN_PARAM_C"].ToString();

 

 

// 조건에따라 FilterExpression 의 속성을 이용하여 원하는 데이터 만 표시한다.

if (Session["txUSER_ROOMCD"].ToString() != null && Session["txUSER_ROOMCD"].ToString() == "RM00000002")

{

    ObjectDataSource.FilterExpression= "name like '%2%'";

}

else if (Session["txUSER_ROOMCD"].ToString() != null && Session["txUSER_ROOMCD"].ToString() == "RM00000001")

{

    ObjectDataSource.FilterExpression = "name like '%1%'";

}

ObjectDataSource.Select();

 

//데이터소스로 설정된 드롭다운 리스트 데이터 바인드

DropDownList.DataBind();

  

    ObjectDataSource.FilterExpression =  Expression 식 표현 .

 

 

 

 

-----------------표현식의 예제 출처 - MSDN--------------------

함수
다음과 같은 함수도 지원됩니다.
 
CONVERT
설명
 특정 식을 지정된 .NET Framework 형식으로 변환합니다.
 
구문
 Convert(expression, type)
 
인수
 expression -- 변환할 식입니다.
type -- 값을 변환할 대상 .NET Framework 형식입니다.
 
예제: myDataColumn.Expression="Convert(total, 'System.Int32')"
모든 변환이 가능하지만 다음과 같은 예외가 있습니다.: Boolean은 ByteSByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, String와 그 자체간에 강제 변환될 수 있습니다. Char는 Int32, UInt32, String 및 자체와 서로 강제 변환할 수 있습니다. DateTime는 String 및 자체와 서로 강제 변환할 수 있습니다. TimeSpan는 String 및 자체와 서로 강제 변환할 수 있습니다.
 
LEN
설명
 문자열의 길이를 가져옵니다.
 
구문
 LEN(expression)
 
인수
 expression -- 계산할 문자열입니다.
 
예제: myDataColumn.Expression="Len(ItemName)"
 
ISNULL
설명
 식을 확인하고 확인된 식이나 대체 값을 반환합니다.
 
구문
 ISNULL(expression, replacementvalue)
 
인수
 expression -- 확인할 식입니다.
replacementvalue -- 식이 null이면 replacementvalue가 반환됩니다.
 
예제: myDataColumn.Expression="IsNull(price, -1)"
IIF
설명
 논리식의 결과에 따라 두 값 중 하나를 가져옵니다.
 
구문
 IIF(expr, truepart, falsepart)
 
인수
 expr -- 계산할 식입니다.
truepart -- 식이 true인 경우에 반환될 값입니다.
falsepart -- 식이 false인 경우에 반환될 값입니다.
 
예제: myDataColumn.Expression = "IIF(total>1000, 'expensive', 'dear')
 
TRIM
설명
 \r, \n, \t, ' ' 등과 같은 앞뒤에 오는 공백 문자를 모두 제거합니다.
 
구문
 TRIM(expression)
 
인수
 expression -- 트리밍할 식입니다.
 
 
SUBSTRING
설명
 문자열의 지정된 위치에서 시작하여 지정된 길이의 부분 문자열을 가져옵니다.
 
구문
 SUBSTRING(expression, start, length)
 
인수
 expression -- 부분 문자열의 소스 문자열입니다.
start -- 부분 문자열의 시작 위치를 지정하는 정수입니다.
length -- 부분 문자열의 길이를 지정하는 정수입니다
 
 
 
출처 : http://msdn.microsoft.com/ko-kr/library/system.data.datacolumn.expression.aspx