private void CopyFilterItem(CRFilterItem source, CRFilterItem target)
 {
     target.IsUsed    = source.IsUsed;
     target.DataField = source.DataField;
     target.Condition = source.Condition;
     target.Value     = source.Value;
     target.Value2    = source.Value2;
 }
        protected virtual void CRFilterItem_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            CRFilterItem row = e.Row as CRFilterItem;

            if (row != null && string.IsNullOrEmpty(row.Value))
            {
                string fieldName = FindFieldName(row.DataField, true);
                if (fieldName != null)
                {
                    CRPermanentFilterItem permanentRow = PermanentFilters.Search
                                                         <CRPermanentFilterItem.dataField>(fieldName);
                    if (permanentRow != null)
                    {
                        row.Value = permanentRow.Value;
                        if (row.IsUsed ?? false)
                        {
                            row.IsUsed = !string.IsNullOrEmpty(permanentRow.Value);
                        }
                    }
                }
            }
        }