private void pictFindMessages_Click(object sender, EventArgs e)
{
try
{
messagesDataGridView.SuspendDrawing();
messagesDataGridView.SuspendLayout();
if (messageBindingList == null)
{
return;
}
using (var form = new TextForm(FilterExpressionTitle, FilterExpressionLabel, messagesFilterExpression))
{
form.Size = new Size(600, 200);
if (form.ShowDialog() != DialogResult.OK)
{
return;
}
messagesFilterExpression = form.Content;
if (string.IsNullOrWhiteSpace(messagesFilterExpression))
{
messagesBindingSource.DataSource = messageBindingList;
messagesDataGridView.DataSource = messagesBindingSource;
writeToLog(FilterExpressionRemovedMessage);
}
else
{
Filter filter;
try
{
var sqlFilter = new SqlFilter(messagesFilterExpression);
sqlFilter.Validate();
filter = sqlFilter.Preprocess();
}
catch (Exception ex)
{
writeToLog(string.Format(FilterExpressionNotValidMessage, messagesFilterExpression, ex.Message));
return;
}
var filteredList = messageBindingList.Where(filter.Match).ToList();
var bindingList = new SortableBindingList<BrokeredMessage>(filteredList)
{
AllowEdit = false,
AllowNew = false,
AllowRemove = false
};
messagesBindingSource.DataSource = bindingList;
messagesDataGridView.DataSource = messagesBindingSource;
writeToLog(string.Format(FilterExpressionAppliedMessage, messagesFilterExpression, bindingList.Count));
}
}
}
catch (Exception ex)
{
HandleException(ex);
}
finally
{
messagesDataGridView.ResumeLayout();
messagesDataGridView.ResumeDrawing();
}
}
private void pictureBox_MouseEnter(object sender, EventArgs e)