本文整理汇总了C#中ExpressionBuilder.GetExpression方法的典型用法代码示例。如果您正苦于以下问题:C# ExpressionBuilder.GetExpression方法的具体用法?C# ExpressionBuilder.GetExpression怎么用?C# ExpressionBuilder.GetExpression使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExpressionBuilder
的用法示例。
在下文中一共展示了ExpressionBuilder.GetExpression方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: pictFindRegistrations_Click
private void pictFindRegistrations_Click(object sender, EventArgs e)
{
try
{
registrationsDataGridView.SuspendDrawing();
registrationsDataGridView.SuspendLayout();
if (registrationPageList == null || registrationPageList.Count == 0)
{
return;
}
using (var form = new TextForm(FilterExpressionTitle, FilterExpressionLabel, registrationsFilterExpression))
{
form.Size = new Size(600, 200);
if (form.ShowDialog() != DialogResult.OK)
{
return;
}
registrationsFilterExpression = form.Content;
if (string.IsNullOrWhiteSpace(registrationsFilterExpression))
{
currentRegistrationPage = 0;
SetRegistrationPage();
writeToLog(FilterExpressionRemovedMessage);
}
else
{
IEnumerable<RegistrationDescription> filteredCollection;
try
{
var expressionBuilder = new ExpressionBuilder<RegistrationDescription>();
var predicate = expressionBuilder.GetExpression(registrationsFilterExpression).Compile();
filteredCollection = registrationPageList.SelectMany(rd => rd).Where(predicate).ToList();
}
catch (Exception ex)
{
writeToLog(string.Format(FilterExpressionNotValidMessage, registrationsFilterExpression));
HandleException(ex);
return;
}
RegistrationInfo.SetRegistrations(filteredCollection);
var bindingList = new SortableBindingList<RegistrationInfo>(RegistrationInfo.Registrations)
{
AllowEdit = false,
AllowNew = false,
AllowRemove = false
};
registrationsBindingSource.DataSource = bindingList;
registrationsDataGridView.DataSource = registrationsBindingSource;
writeToLog(string.Format(FilterExpressionAppliedMessage, registrationsFilterExpression, bindingList.Count));
}
}
}
catch (Exception ex)
{
HandleException(ex);
}
finally
{
registrationsDataGridView.ResumeLayout();
registrationsDataGridView.ResumeDrawing();
}
}