protected override void Dispose(bool disposing) { base.Dispose(disposing); if (menuItems != null) { ToolDispose.dispose(menuItems); } menuItems = null; if (filterWrap != null) { filterWrap.Dispose(); } filterWrap = null; }
public virtual void loadFilterStruct() { try { getGrid().beginDataLoad(); if (!HasFilter) { getFilterTreePanel().Visible = false; getFilterGridPanel().Visible = false; } else { getFilterTreePanel().Visible = false; List <MobDataGrid> list = new List <MobDataGrid>(); { if (FilterCols.Length > 0) { list.Add(getFilterGrid1()); } if (FilterCols.Length > 1) { list.Add(getFilterGrid2()); } else { getFilterGrid2().Visible = false; } } filterWrap = new ImplFilterWrapGrid(list.ToArray()); //filterWrap = new ImplFilterWrapTree(getFilterTree()); filterWrap.FilterChanged += filterWrap_FilterChanged; //getFilter().NodeClick += MobDataReferenceGridFormBase_NodeClick; string stateNameFilterTree = globalStoreName() + "/filtertree"; object[][] tree_ = environment.getStateData(stateNameFilterTree) as object[][]; if (tree_ == null) { string name_ = getDsName(); ITableDescriptor td_ = environment.getDbDescriptor().getTable(name_); if (td_ == null) { throw new MyExceptionError("Cant find table [" + name_ + "] descriptor"); } string tabFullName_ = td_.getNameFull(); string sql_ = string.Format("SELECT DISTINCT {0} FROM {1}", ToolString.joinList(FilterCols), tabFullName_); DataTable tab_ = SqlExecute.execute(environment, sql_, null); tree_ = ToolTable.getGroups(tab_, FilterCols); } filterWrap.fill(tree_); // getFilter().fillTree(tree_); environment.setStateData(stateNameFilterTree, tree_); } } catch (Exception exc) { ToolMobile.setException(exc); } finally { getGrid().endDataLoad(); } }