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); } }
internal static ITreeNode GetTreeNode(TableSelector selector, ITreeNodeCreator creator, string id) { TkDebug.AssertArgumentNullOrEmpty(id, "id", creator); DataRow row = selector.TrySelectRowWithKeys(id); if (row == null) { return(null); } return(creator.CreateNode(row)); }