Как связать dataview для дерева? - PullRequest
1 голос
/ 16 апреля 2011

У меня есть dataview, который является коллекцией идентификатора и имени.И я хочу связать этот вид данных с управлением деревом в виде иерархии.И я хочу показать поле имени в качестве отображаемого текста на узле, и я хочу привязать идентификатор как элемент значения к узлу дерева.

Возможно ли это?Если да, то как это сделать?

спасибо ..

1 Ответ

0 голосов
/ 08 ноября 2012

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

var datasource = myDataView.ToTable();

treeView.BeginUpdate();

// Iterate throght the DataRow Collection
foreach (DataRow Row in datasource.Rows)
{
    TreeNode Node = treeView.Nodes.Add("Node for "+ Row.Field<string>("ColumnNameForNode"));

    if (Node != null)
    {
        int iCol = 0;

        foreach (var item in Row.ItemArray)
        {
            string itemString = item as string;
            if (itemString != null && itemString.Length > 0)
            {
                Node.Nodes.Add(datasource.Columns[iCol].ColumnName + " - " + itemString);
            }

            iCol++;
        }
    }                       
}

treeView.EndUpdate();
...