DataTreeView – VB.NET – Управление/Формы/Диалоги/Меню – База кода

Скачать

Название (оригинал): DataTreeView

Описание:
Англ (оригинал)Introduction
At the time of this writing, the standard Windows Forms .NET TreeView control doesn’t support the concept of databinding like the ASP.NET TreeView control. So, we are left writing our own solutions. This solution provides a standardized way to use databinding with the Windows Forms .NET TreeView control. This functionality will enable you to quickly develop user-friendly ways to create and view complex data information.
It includes the Databinding as well as the following Design Patterns: Facade, Proxy, Singleton. It also includes custom ‘Rule’ classes to give the developer at design time the ability to derive primary key and foreign key data points. This is essential to adjusting the underlying Dataset when changes to the TreeView occur. Updates are also performed on a Asynchronous separate thread. The last item I’d like to mention is that this class does support two table DataSets, a Primary key table and a Foreign key table.
Requirements
The following were the initial requirements:
Databind a DataSet to the TreeView and save results back to a Microsoft Access database.
Design the solution to make it easy to reuse the class in different solutions.
Encapsulate as much of the binding logic inside the custom solution and hide it from the UI developers.
UI developers should have to write next to nothing for code to keep the TreeView in sync with the DataSet underneath it.
Provide a sample for deleting nodes in the TreeView (via right click context menu) and have that deletion automatically reflected in the DataSet.
Provide a sample for editing nodes in the TreeView (via right click context menu) and have the .Text property change automatically reflected in the DataSet.
Provide a sample for inserting nodes in the TreeView (via right click context menu) and have the new node automatically reflected in the DataSet.
Support drag and drop of TreeNode branches within the same TreeView and have the relationships automatically reflected in the DataSet.
If the following columns are in the DataTable: Checked, ForeColor, BackColor, ImageIndex, or SelectedImageIndex, incorporate the following node properties when the TreeNode is created. If the any of these columns are missing, simply implement the default value for the TreeNode.
Support drag and drop of TreeNode branches across multiple TreeView controls and have the relationships automatically reflected in the target DataSet as well as the source DataSet.
Provide a sample for accepting and rejecting changes made to the same TreeView control giving the user the ability to undo their changes.
Automatically commit changes to the source and target DataSet when a TreeNode branch is dropped on the target TreeView.
Рус (машинный)Введение
На момент написания заметки стандартные окна формы .Сетчатый элемент управления treeview не поддерживает концепцию привязки данных, как в ASP.NET treeview элемент управления. Итак, мы оставили написание собственных решений. Это решение обеспечивает стандартизированный способ использования привязки данных в Windows формах .Сетчатый элемент управления treeview. Этот функционал позволит вам быстро разрабатывать удобные для пользователей способы создания и представления сложных данных информации.
Она включает в себя привязки данных, а также следующие шаблоны проектирования: фасад, прокси, Синглтон. Она также включает в себя пользовательские ‘правило’ классы давать Разработчик во время разработки возможность для получения первичного ключа и внешнего ключа данные точки. Это необходимо для корректировки базового набора данных, когда изменения в каталоге происходят. Обновления также выполнены на асинхронные отдельном потоке. Последний пункт я хотел бы сказать, что этот класс поддерживает две столовые наборы данных, таблицы первичного ключа и внешнего ключа таблицы.
Требования
Были определены следующие исходные требования:
Привязки набора данных к treeview и сохранить результаты в Microsoft Access базы данных.
Дизайн решение для упрощения повторного использования класса в различных растворах.
Инкапсулировать как можно больше привязки логики внутри собственное решение и скрыть это от UI разработчиков.
Пользовательский интерфейс разработчики должны были написать рядом ничего для код, чтобы сохранить дерево в синхронизации с набором данных под ним.
Предоставить образец для удаления узлов в treeview (через контекстное меню) и есть исключение, которые автоматически отражаются в данных.
Предоставить образец для редактирования узлов в treeview (через контекстное меню) и есть .Свойство text изменяется автоматически отражена в наборе данных.
Предоставить образец для вставки узлов в treeview (через контекстное меню) и новый узел автоматически отражена в наборе данных.
Поддержка перетаскивания узлов дерева ветвей в пределах одного дерева и имеют отношения автоматически отражена в наборе данных.
Если следующие столбцы в datatable: проверено, текста, фона, индекс изображения, или SelectedImageIndex, включить в нее следующие свойства узла, когда treenode не создал. Если какой-либо из этих столбцов не хватает, просто реализовать значение по умолчанию для узлов дерева.
Поддержка перетаскивания узлов дерева ветвей для нескольких элементов управления treeview и иметь отношения автоматически отражается в конечном наборе данных, а в качестве источника данных.
Предоставить образец для принятия и отклонения изменений, внесенных в тот же treeview элемент управления, давая пользователю возможность отменить свои изменения.
Автоматически фиксировать изменения в исходных и целевых данных, когда узлов дерева ветка упала на целевом каталоге.

база кода