/// <summary>
        ///
        /// </summary>
        /// <param name="parentColumn"></param>
        /// <returns></returns>
        protected override Cell CreateCell(Column parentColumn)
        {
            SearchCell cell = new SearchCell(parentColumn);

            cell.CellEditorManager = new SearchEditor();

            bool           enable = true;
            GridColumnInfo info   = parentColumn.Tag as GridColumnInfo;

            if (info != null)
            {
                enable = info.GridColumnType == GridColumnType.Normal;
                if (enable)
                {
                    string     searchPropertyName = SearchCell.GetSearchPropertyName(info);
                    IBoundGrid grid = this.GridControl as IBoundGrid;
                    if (grid != null && grid.DisplayManager != null)
                    {
                        var p = grid.DisplayManager.EntityInfo.GetPropertMetadata(searchPropertyName);
                        if (p == null)
                        {
                            enable = false;
                        }
                    }
                }
            }
            cell.ReadOnly = !enable;
            return(cell);
        }
        /// <summary>
        ///
        /// </summary>
        public void ApplyFilters()
        {
            if (!this.Enabled)
            {
                return;
            }

            m_searchExps.Clear();

            int cellsCount = this.Cells.Count;

            for (int j = 0; j < cellsCount; j++)
            {
                if (!this.Cells[j].Visible)
                {
                    continue;
                }
                if (this.Cells[j].ReadOnly)
                {
                    continue;
                }

                SearchCell searchCell = (SearchCell)this.Cells[j];

                ISearchExpression filter = searchCell.GetSearchExpression();

                //object cellValue = dataRow.Cells[j].Value;
                if (filter != null)
                {
                    m_searchExps.Add(filter);
                }
            }

            //if (m_searchExps.Count > 0)
            {
                IBoundGrid grid = this.GridControl as IBoundGrid;
                if (grid != null)
                {
                    ISearchExpression exp = SearchExpression.ConvertListToOne(m_searchExps);
                    grid.DisplayManager.SearchManager.LoadData(exp, null);
                }
            }
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parentColumn"></param>
        /// <returns></returns>
        protected override Cell CreateCell(Column parentColumn)
        {
            SearchCell cell = new SearchCell(parentColumn);
            cell.CellEditorManager = new SearchEditor();

            bool enable = true;
            GridColumnInfo info = parentColumn.Tag as GridColumnInfo;
            if (info != null)
            {
                enable = info.GridColumnType == GridColumnType.Normal;
                if (enable)
                {
                    string searchPropertyName = SearchCell.GetSearchPropertyName(info);
                    IBoundGrid grid = this.GridControl as IBoundGrid;
                    if (grid != null && grid.DisplayManager != null)
                    {
                        var p = grid.DisplayManager.EntityInfo.GetPropertMetadata(searchPropertyName);
                        if (p == null)
                        {
                            enable = false;
                        }
                    }
                }
            }
            cell.ReadOnly = !enable;
            return cell;
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="template"></param>
 public SearchCell(SearchCell template)
     : base(template)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="template"></param>
 public SearchCell(SearchCell template)
     : base(template)
 {
 }