TreeView Databind - из объекта c #?

2

Я хотел бы привязать мой TreeView к структуре данных. После некоторых поисковых запросов я пришел к выводу, что создание моей простой структуры дерева с использованием List of Nodes - это то, что нужно сделать. Тем не менее, я хотел бы знать, нахожусь ли я на правильном пути и не переусердствовал - из того, что я знаю, нет структуры дерева в С#.

Каковы предпочтительные методы привязки TreeView к данным? (динамика, конечно). Могу ли я сделать что-то вроде:

List<node> nodes = new List<Node>();
//populate the nodes object
myTree.DataSource = nodes;

что было бы идеально... Кто-нибудь повезло привязать дерево к реальному объекту? Из того, что я знаю до сих пор, мне пришлось бы вручную добавлять узлы TreeNode к дереву и заполнять их из списка узлов, что хорошо, но если есть более простой способ, это будет лучше.

Спасибо!

Теги:
data-binding
treeview

3 ответа

1

MSDN имеет хорошее количество информация о привязке к TreeView.

Я предпочитаю использовать SiteMap для привязки данных.

Кроме того, вы можете создавать узлы через LINQ to XML

  • 0
    спасибо, SiteMap выглядит так, как будто он здесь подходит.
1

Если вы используете ASP.NET, вы можете прочитать о привязке данных для TreeViews здесь.

В winforms TreeView не поддерживает привязку данных. Вы должны сделать свое, поэтому ваше понимание того, что вам нужно вручную добавлять узлы, является правильным.

Вы можете реализовать INotifyPropertyChanged в своей базовой структуре данных, а затем прослушать это событие и перерисовать TreeView по мере необходимости, если/когда ваши узлы меняются.

  • 0
    Я использую веб-формы. Я думаю, что INotifyPropertyChanged будет полезен для меня. Что касается заполнения узлов по требованию, я понимаю, что могу использовать это, НО мой вопрос касался того, выполняется ли это автоматически, или я должен заполнить узлы самостоятельно. Либо я просто указываю на объект TreeView.DataSource = somesource, либо ИЛИ заполняю и добавляю объекты TreeNode самостоятельно в функцию узла заполнения.
0

Вот хорошая ссылка, которая объясняет, как привязать древовидную структуру древовидной структурой со следующими функциональными возможностями:

  • Загрузите данные в древовидную структуру.
  • Следите за изменениями данных, показывая их в элементе управления
  • Выделите свойство get/set, например SelectedValue, помимо SelectedNode, обычно вы имеете значение node, которое вы хотите выбрать (но не сам node!!!)

DataBound TreeView

Ещё вопросы

Сообщество Overcoder
Наверх
Меню