/// <summary> /// Перемещает указанный элемент. /// </summary> public void MoveItem(object item, int delta) { var dataRow = FindDataRowByItem(item); if (dataRow != null) { var dataRowNode = TreeListView.GetNodeByContent(dataRow); if (dataRowNode != null) { var dataRowNodes = (dataRowNode.ParentNode != null) ? dataRowNode.ParentNode.Nodes : TreeListView.Nodes; var dataRowNodeOldIndex = dataRowNodes.IndexOf(dataRowNode); var dataRowNodeNewIndex = dataRowNodeOldIndex + delta; if (dataRowNodeNewIndex >= 0 && dataRowNodeNewIndex < dataRowNodes.Count) { dataRowNodes.RemoveAt(dataRowNodeOldIndex); dataRowNodes.Insert(dataRowNodeNewIndex, dataRowNode); TreeListView.FocusedNode = dataRowNode; } } } }
/// <summary> /// Сворачивает указанный элемент. /// </summary> public void CollapseItem(object item) { var dataRow = FindDataRowByItem(item); if (dataRow != null) { RefreshDataRow(dataRow); TreeList.InvokeControl(() => { var dataRowNode = TreeListView.GetNodeByContent(dataRow); if (dataRowNode != null) { TreeListView.CollapseNode(dataRowNode.RowHandle); } }); } }