示例#1
0
        internal void Refresh()
        {
            if (_doc == null || _doc.FocusMap == null)
            {
                return;
            }
            if (!_combo.Visible)
            {
                return;
            }

            _combo.Items.Clear();
            foreach (IDatasetElement element in _doc.FocusMap.MapElements)
            {
                if (element == null)
                {
                    continue;
                }
                if (Replication.FeatureClassHasConflicts(element.Class as IFeatureClass))
                {
                    if (_doc.FocusMap.TOC != null && element is ILayer)
                    {
                        ITOCElement tocElement = _doc.FocusMap.TOC.GetTOCElement((ILayer)element);
                        if (tocElement != null)
                        {
                            _combo.Items.Add(new ComboItem(element.Class as IFeatureClass, tocElement));
                        }
                        else
                        {
                            _combo.Items.Add(new ComboItem(element.Class as IFeatureClass));
                        }
                    }
                    else
                    {
                        _combo.Items.Add(new ComboItem(element.Class as IFeatureClass));
                    }
                }
            }

            if (_combo.Items.Count > 0)
            {
                _combo.SelectedIndex = 0;
            }
        }