/// <summary> /// Копирование элентов в коллекцию.Ф /// </summary> public void CopyTo(DBInterfaceItemBases dbRecieves) { foreach (DBInterfaceItemBase item in this) { dbRecieves.Add(item); } }
/// <summary> /// Поиск определенного типа во всех привязанных XPCollection. /// </summary> public static bool IsUsedXPCollection(DBInterfaceItemBases itemsSeq, Type type) { foreach (DBInterfaceItemBase item in itemsSeq) { if (item is DBInterfaceItemXPObject) { DBInterfaceItemXPObject xpItem = (DBInterfaceItemXPObject)item; if (xpItem.DataSource is XPCollection && ((XPCollection)xpItem.DataSource).ObjectType == type) { return(true); } } } return(false); }
/// <summary> /// Поиск неиспользуемых объектов коллекции. /// </summary> public XPCollectionContainer FindUnuseCollections(DBInterfaceItemBases itemsSeq, object collectionExept) { XPCollectionContainer unuses = new XPCollectionContainer(); foreach (XPCollection collection in this) { if (collection != collectionExept) { if (collection.ObjectType == null) { unuses.Add(collection); } if (!IsUsedXPCollection(itemsSeq, collection.ObjectType)) { unuses.Add(collection); } } } return(unuses); }
/// <summary> /// Изменение позиции записи в дереве. /// </summary> private void SetNodeIndex(int inc) { if (treeExist.Selection.Count > 0) { TreeListNode node = treeExist.Selection[0]; int index = treeExist.GetNodeIndex(node); treeExist.SetNodeIndex(node, index + inc); TableMemberInfo tmInfo = treeExist.GetDataRecordByNode(node) as TableMemberInfo; if (tmInfo != null && tmInfo.Item != null) { DBInterfaceItemBases dbItems = tmInfo.Item.Owner; if (0 <= index + inc && index + inc < dbItems.Count) { DBInterfaceItemBases dbBuffs = new DBInterfaceItemBases(); dbItems.CopyTo(dbBuffs); dbItems.Clear(); dbBuffs.Change(index, index + inc); dbBuffs.CopyTo(dbItems); //dbItems.CorrectVisibleIndex(); } } } }
public DBInterfaceItemXPComplex() { _Items = new DBInterfaceItemBases(this, true); }