e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
namespace System.Web.UI.WebControls.Expressions {
|
|
using System.Web.Query.Dynamic;
|
|
using System;
|
|
using System.Linq.Expressions;
|
|
using System.Security.Permissions;
|
|
using System.Text.RegularExpressions;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
[
|
|
PersistChildren(false),
|
|
ParseChildren(true, "Parameters")
|
|
]
|
|
public class CustomExpression : ParameterDataSourceExpression {
|
|
private EventHandler<CustomExpressionEventArgs> _querying;
|
|
|
|
public event EventHandler<CustomExpressionEventArgs> Querying {
|
|
add {
|
|
_querying += value;
|
|
}
|
|
remove {
|
|
_querying -= value;
|
|
}
|
|
}
|
|
|
|
public override IQueryable GetQueryable(IQueryable source) {
|
|
CustomExpressionEventArgs e = new CustomExpressionEventArgs(source, GetValues());
|
|
OnQuerying(e);
|
|
return e.Query;
|
|
}
|
|
|
|
private void OnQuerying(CustomExpressionEventArgs e) {
|
|
if (_querying != null) {
|
|
_querying(this, e);
|
|
}
|
|
}
|
|
}
|
|
}
|