void CategoriesListView_SelectionChanged(object sender, EventArgs e) { if (!locker.Locked) { UpdateGridViewFilter(); } else { locker.Call("UpdateGridViewFilter"); } }
private void UpdateGridViewFilter() { locker.Call("UpdateGridViewFilter"); if (!locker.Locked) { if (CategoriesListView.CurrentObject != null) { ArrayList categoryKeys = new ArrayList(); ITreeNode currentCategory = (ITreeNode)CategoriesListView.CurrentObject; categoryKeys.Add(GetCategoryKey(currentCategory)); AddChildrenKeys(currentCategory, categoryKeys); string categoryKeyPropertyName = String.Format("{0}.{1}", CategoryPropertyName, CategoriesListView.ObjectTypeInfo.KeyMember.Name); this.ItemsDataSource.Criteria[CategoryPropertyName] = new InOperator(categoryKeyPropertyName, categoryKeys); } } }