Exemplo n.º 1
0
        public void OnSourcePropertyInternalChanged(object newvalue)
        {
            if (newvalue == null)
            {
                CurrentItem = null;
            }

            if (Source == null)
            {
                return;
            }

            UpdateSource(null);
            ChildSource.Clear();
            if (Source == null || Source.Count == 0)
            {
                return;
            }

            var keys         = Source.Select(item => (object)item.ENTITY2GCKEY).ToList();
            var pk           = WMSBusinessObject.GetPrimaryKeyPropertyName(_itemType);
            var pkSourceName = SourceNameHelper.Instance.GetPropertySourceName(_itemType, pk);

            using (var mgr = GetManager(_itemType))
            {
                var items = mgr.GetFiltered(FilterHelper.GetFilterIn(pkSourceName, keys));
                ChildSource.AddRange(items);
            }
        }
Exemplo n.º 2
0
        private void InitializeLookUpCodeEditor()
        {
            if (string.IsNullOrEmpty(LookUpCodeEditor))
            {
                throw new DeveloperException("Lookup code is not set.");
            }

            LookupInfo = LookupHelper.GetLookupInfo(LookUpCodeEditor);

            // определяем максимально кол-во элементов, которые нужно получать
            MaxFetchItemsCount = LookupInfo.FetchRowCount.HasValue
                ? Convert.ToInt32(LookupInfo.FetchRowCount.Value)
                : (int?)null;

            var filtertxt = LookupInfo.Filter;

            filtertxt += string.IsNullOrEmpty(LookUpCodeEditorVarFilterExt)
                             ? string.Empty
                             : LookUpCodeEditorVarFilterExt;

            // если извне хотят управлять колонками - пусть сам и управляют
            if (LookUpColumnsSource == null)
            {
                LookUpColumnsSource = DataFieldHelper.Instance.GetDataFields(LookupInfo.ItemType, SettingDisplay.LookUp);
            }

            LookupHelper.InitializeVarFilter(filtertxt, out _filter0, out _varFilter);

            // инстанируем
            ManagerInstance = LookupHelper.GetItemSourceManager(LookupInfo);
            ManagerInstance.AllowMonitorChangesInOtherInsances = true;

            // получим property - primarykey

            _primaryKeyPropertyName = WMSBusinessObject.GetPrimaryKeyPropertyName(LookupInfo.ItemType);
        }