<data:VwUserPackageInfoDataSource runat="server" ID="UserPackageInfoDS" SelectMethod="GetPaged">
<Parameters>
<data:SqlParameter Name="WhereClause" UseParameterizedFilters="false" >
<Filters>
<data:VwUserPackageInfoExpressionBuilder BuilderExpression="AppendEquals" Column="PackageTypeId" ControlID="ddl_package"/>
<data:VwUserPackageInfoExpressionBuilder BuilderExpression="AppendEquals" Column="Validate" ControlID="ddl_status" />
<data:VwUserPackageInfoExpressionBuilder BuilderExpression="AppendContains" Column="FirstName" OnApplyFilter="Name_ApplyFilter"/>
</Filters>
</data:SqlParameter>
</Parameters>
</data:VwUserPackageInfoDataSource>
backend code:
protected void Name_ApplyFilter(object sender, HRASP.Web.Data.SqlFilterEventArgs<HRASP.Entities.VwUserPackageInfoColumn> e)
{
if (!String.IsNullOrWhiteSpace(txtName.Text.Trim()))
{
if (e.FilterBuilder.Length > 0)
{
e.FilterBuilder.BeginGroup();
e.FilterBuilder.AppendContains("", HRASP.Entities.VwUserPackageInfoColumn.FirstName, txtName.Text);
e.FilterBuilder.AppendContains("OR", HRASP.Entities.VwUserPackageInfoColumn.Surname, txtName.Text);
e.FilterBuilder.AppendContains("OR", HRASP.Entities.VwUserPackageInfoColumn.Email, txtName.Text);
e.FilterBuilder.EndGroup();
}
else
{
e.FilterBuilder.AppendContains(HRASP.Entities.VwUserPackageInfoColumn.FirstName, txtName.Text);
e.FilterBuilder.AppendContains("OR", HRASP.Entities.VwUserPackageInfoColumn.Surname, txtName.Text);
e.FilterBuilder.AppendContains("OR", HRASP.Entities.VwUserPackageInfoColumn.Email, txtName.Text);
}
}
}
when use (), there are must some select parameter out side brackets, if there are no parameters out side, will cause error. so check e.filterBuilder. length > 0 or not.