コード例 #1
0
ファイル: TreeUtil.cs プロジェクト: madiantech/tkcore
        internal static IEnumerable <ITreeNode> SelectData(TableSelector selector, ITreeNodeCreator creator,
                                                           Action action, string stateId)
        {
            DataTable table = selector.HostTable;
            int       start = table == null ? 0 : table.Rows.Count;

            action();
            if (table == null)
            {
                table = selector.HostTable;
            }
            int end = table.Rows.Count;

            for (int i = start; i < end; i++)
            {
                DataRow         row  = table.Rows[i];
                DataRowTreeNode node = creator.CreateNode(row);
                if (node.Id == stateId)
                {
                    node.State = new TreeNodeState {
                        Opened = true, Selected = true
                    };
                }
                yield return(node);
            }
        }
コード例 #2
0
ファイル: NormalDbTree.cs プロジェクト: madiantech/tkcore
 private IEnumerable <ITreeNode> GetRootNodes(DataTable table, int start, int end)
 {
     for (int i = start; i < end; i++)
     {
         DataRow         row  = table.Rows[i];
         DataRowTreeNode node = CreateNode(row);
         yield return(node);
     }
 }
コード例 #3
0
ファイル: TreeUtil.cs プロジェクト: madiantech/tkcore
        internal static IEnumerable <ITreeNode> GetDisplayTreeNodes(IEnumerable <ITreeNode> data, string id)
        {
            RegNameList <DataRowTreeNode> list = new RegNameList <DataRowTreeNode>();

            foreach (DataRowTreeNode item in data)
            {
                list.Add(item);
            }

            DataRowTreeNode newNode = list[id];

            while (newNode != null)
            {
                newNode = list[newNode.ParentId];
                if (newNode != null)
                {
                    newNode.HasChild = null;
                }
            }

            return(list);
        }