private void DoFilter()
{
lock (this)
{
this._inFilter = true;
this._cancelCurrentFilter = false;
var filter = this._filterTextBox.Text.Trim().ToLower();
if (filter == this._lastFilterText) return;
this._lastFilterText = filter;
if (String.IsNullOrEmpty(filter))
{
this.ClearFilter();
this._inFilter = false;
return;
}
if (this.Grid == null)
{
this._inFilter = false;
return;
}
if (this.FilterStarted != null)
this.FilterStarted(this, new EventArgs());
FilterGrid(filter);
this._inFilter = false;
if (this.FilterCompleted != null)
this.FilterCompleted(this, new EventArgs());
}
}