public List <TreeGridItem> GetImportDefinitions(string sortering, string searchString) { List <TreeGridItem> returnList = new List <TreeGridItem>(); BaseCollection <NewsletterImportDefinition> definitions; if (searchString != "") { searchString = "SELECT importdefinition.* FROM `importdefinition` WHERE CONCAT (importdefinition.FileName, importdefinition.FileExtension, importdefinition.NameColumn, importdefinition.NamePrefixColumn, importdefinition.ForeNameColumn, importdefinition.EmailColumn, importdefinition.Delimiter ) like'%" + searchString + "%' FK_Site='" + SessionObject.CurrentSite.ID.ToString() + "'"; definitions = BaseCollection <NewsletterImportDefinition> .LoadFromSql(searchString); } else { definitions = BaseCollection <NewsletterImportDefinition> .Get("FK_Site='" + SessionObject.CurrentSite.ID.ToString() + "'" + searchString, sortering); } foreach (NewsletterImportDefinition definition in definitions) { TreeGridItem def = new TreeGridItem(); def.ID = definition.ID; def.Name = definition.Name; def.Field1 = definition.FileExtension; def.Field2 = definition.Delimiter; def.CreateDate = definition.CreateDate; returnList.Add(def); } return(returnList); }
public DeleteDialog(IController controller, List <IProjectItem> items) { InitializeComponent(); _controller = controller; treeView1.Columns.Add(new GridColumn { DataCell = new ImageTextCell(0, 1), AutoSize = true, Resizable = true, Editable = false }); _treeBase = new TreeGridItem(); foreach (var item in items) { if (item is DirectoryItem) { ProcessDirectory(_controller.GetFullPath(item.OriginalPath)); } else { Add(_treeBase, item.OriginalPath, false, _controller.GetFullPath(item.OriginalPath)); } } treeView1.DataStore = _treeBase; }
public List <TreeGridItem> LoadNewsletterList(NewsletterGroup obj = null) { List <TreeGridItem> returnValue = new List <TreeGridItem>(); BaseCollection <Newsletter> newsletters = new HJORM.BaseCollection <BitPlate.Domain.Newsletters.Newsletter>(); if (obj == null) { newsletters = BaseCollection <Newsletter> .Get("FK_Site='" + SessionObject.CurrentSite.ID.ToString() + "'"); } else { newsletters = obj.Newsletters; } foreach (Newsletter newsletter in newsletters) { TreeGridItem tgi = new TreeGridItem(); tgi.ID = newsletter.ID; tgi.Name = newsletter.Name; tgi.CreateDate = newsletter.CreateDate; tgi.Field1 = newsletter.MailingGroupsString; returnValue.Add(tgi); } return(returnValue); }
public void Update(IEnumerable <ResourceTypeBlock> resources, bool bigEndian) { TreeGridItemCollection treeData = new TreeGridItemCollection(); foreach (ResourceTypeBlock type in resources.OrderBy(r => r.type)) { TreeGridItem root = new TreeGridItem { Values = new object[] { $"{type.type}", null, null, null, null } }; foreach (Resource resource in type.resources.OrderBy(r => r.name).ThenBy(r => r.id).ThenBy(r => r.index)) { TreeGridItem child = new TreeGridItem { Values = new object[] { $"{resource.name}", $"{resource.id}", resource.data == null ? null : $"{resource.data.Length}", $"{type.type}", resource.data } }; root.Children.Add(child); } treeData.Add(root); } treeResources.DataStore = treeData; this.bigEndian = bigEndian; }
private TreeGridItem GetCommentTree(children child) { List <string> top5 = child.GetTopNWords(5); TreeGridItem tgi = new TreeGridItem(); if (top5.Count > 0) { string all5 = string.Empty; foreach (string s in top5) { all5 += s + " "; } tgi.Values = new object[] { all5 }; RichTextArea rta = new RichTextArea(); rta.Text = WebUtility.HtmlDecode(child.text); tgi.Children.Add(new TreeGridItem() { Values = new object[] { WebUtility.HtmlDecode(child.text) } }); foreach (children commentchild in child.Children) { TreeGridItem tgic = GetCommentTree(commentchild); tgi.Children.Add(tgic); } } else { tgi.Tag = "empty"; } return(tgi); }
private void RebuildCodeTreeView(Mira.Items items, object executingItem) { TreeGridItem executingTreeGridItem = null; codeTree.DataStore = GetCodeTree(items, executingItem, ref executingTreeGridItem); codeTree.SelectedItem = executingTreeGridItem; }
public void SetRoot(IProjectItem item) { if (item == null) { _treeView.DataStore = _treeBase = new TreeGridItem(); _rootExists = false; _treeView.ContextMenu = null; return; } if (!_rootExists) { _treeRoot = new TreeGridItem(); _treeBase.Children.Add(_treeRoot); _rootExists = true; } _treeRoot.SetValue(0, _iconRoot); _treeRoot.SetValue(1, item.Name); _treeRoot.Tag = item; _treeRoot.Expanded = true; _treeView.ReloadItem(_treeRoot); _treeView.ContextMenu = _contextMenu; }
public void DrawableCellAsFirstColumnShouldNotBeWhite() { ManualForm("Both cells should show the same", form => { TreeGridView tree = new TreeGridView(); // add first drawable (it will be rendered all white! var drawableCell1 = new DrawableCell(); drawableCell1.Paint += drawableCell_Paint; tree.Columns.Add(new GridColumn { HeaderText = "not working", DataCell = drawableCell1, Width = 200 }); // add the second drawable var drawableCell2 = new DrawableCell(); drawableCell2.Paint += drawableCell_Paint; tree.Columns.Add(new GridColumn { HeaderText = "working", DataCell = drawableCell2, Width = 200 }); // add some data to the tree just to populate it TreeGridItemCollection model = new TreeGridItemCollection(); TreeGridItem item1 = new TreeGridItem(); item1.Values = new object[] { "text" }; TreeGridItem item2 = new TreeGridItem(); item2.Values = new object[] { "text" }; item1.Children.Add(item2); item1.Expanded = true; model.Add(item1); tree.DataStore = model; return(tree); }); }
private TreeGridItem GetCommentTree(children child) { List<string> top5 = child.GetTopNWords(5); TreeGridItem tgi = new TreeGridItem(); if (top5.Count > 0) { string all5 = string.Empty; foreach (string s in top5) { all5 += s + " "; } tgi.Values = new object[] { all5 }; RichTextArea rta = new RichTextArea(); rta.Text = WebUtility.HtmlDecode(child.text); tgi.Children.Add(new TreeGridItem() { Values = new object[] {WebUtility.HtmlDecode(child.text) } }); foreach (children commentchild in child.Children) { TreeGridItem tgic = GetCommentTree(commentchild); tgi.Children.Add(tgic); } } else { tgi.Tag = "empty"; } return tgi; }
void RefreshDevices() { try { DicConsole.WriteLine("Refreshing devices"); devicesRoot.Children.Clear(); foreach (DeviceInfo device in Device.ListDevices().Where(d => d.Supported).OrderBy(d => d.Vendor) .ThenBy(d => d.Model)) { DicConsole.DebugWriteLine("Main window", "Found supported device model {0} by manufacturer {1} on bus {2} and path {3}", device.Model, device.Vendor, device.Bus, device.Path); TreeGridItem devItem = new TreeGridItem { Values = new object[] { $"{device.Vendor} {device.Model} ({device.Bus})", device.Path, null } }; devItem.Children.Add(placeholderItem); devicesRoot.Children.Add(devItem); } treeImages.ReloadData(); } catch (InvalidOperationException ex) { DicConsole.ErrorWriteLine(ex.Message); } }
public ProjectControl() { Title = "Project"; _treeView = new TreeGridView { ShowHeader = false, AllowMultipleSelection = true }; _treeView.Columns.Add(new GridColumn { DataCell = new ImageTextCell(0, 1), AutoSize = true }); _treeView.DataStore = _treeBase = new TreeGridItem(); CreateContent(_treeView); _iconRoot = Bitmap.FromResource("TreeView.Root.png").WithSize(16, 16); _treeView.Activated += TreeView_Activated; _treeView.SelectionChanged += TreeView_SelectedItemChanged; _treeView.SizeChanged += (o, e) => { if (!Global.Unix && _treeView.Columns[0].Width < _treeView.Width - 2) { _treeView.Columns[0].Width = _treeView.Width - 2; } }; }
private TreeGridItemCollection GetTree(List <FullStory> stories) { TreeGridItemCollection data = new TreeGridItemCollection(); foreach (FullStory story in stories) { TreeGridItem tgiParent = new TreeGridItem() { Values = new object[] { WebUtility.HtmlDecode(story.title) } }; string all5 = string.Empty; foreach (string s in story.GetTopNWords(5)) { all5 += s + " "; } tgiParent.Children.Add(new TreeGridItem() { Values = new object[] { WebUtility.HtmlDecode(all5) } }); data.Add(tgiParent); foreach (children child in story.children) { TreeGridItem tgi = GetCommentTree(child); if (tgi.Tag != "empty") { tgiParent.Children.Add(tgi); } } } return(data); }
public void Update(IEnumerable <libexeinfo.NE.ResourceType> resourceTypes) { treeData = new TreeGridItemCollection(); foreach (libexeinfo.NE.ResourceType resourceType in resourceTypes.OrderBy(r => r.name)) { TreeGridItem root = new TreeGridItem { Values = new object[] { $"{resourceType.name}", null, null, null } }; foreach (libexeinfo.NE.Resource resource in resourceType.resources.OrderBy(r => r.name)) { root.Children.Add(new TreeGridItem { Values = new object[] { $"{resource.name}", $"{resource.data.Length}", $"{resourceType.name}", resource } }); } treeData.Add(root); } treeResources.DataStore = treeData; }
private TreeGridItem GetCommentTree(Comment comment) { List <string> top5 = comment.GetTopNWords(5); TreeGridItem tgi = new TreeGridItem(); if (top5.Count > 0) { string all5 = string.Empty; foreach (string s in top5) { all5 += s + " "; } tgi.Values = new object[] { all5 }; RichTextArea rta = new RichTextArea(); rta.Text = comment.Text; tgi.Children.Add(new TreeGridItem() { Values = new object[] { comment.Text } }); foreach (Comment commentChild in comment.Comments) { TreeGridItem tgic = GetCommentTree(commentChild); tgi.Children.Add(tgic); } } else { tgi.Tag = "empty"; } return(tgi); }
void PopulateTree(string filter = null) { var testSuites = GetTestSuites().Select(suite => ToTree(suite.Assembly, suite, filter)).Where(r => r != null).ToList(); var treeData = new TreeGridItem(testSuites); Application.Instance.AsyncInvoke(() => tree.DataStore = treeData); }
private void LoadTreeWithDemosNew() { treeView1.Nodes().Clear(); foreach (var dict in Cookbook.Locate.GetCategorizedRecipes()) { string category = dict.Key; Cookbook.IRecipe[] recipes = dict.Value; TreeGridItem categoryNode = new TreeGridItem(category); treeView1.Nodes().Add(categoryNode); foreach (Cookbook.IRecipe recipe in recipes) { TreeGridItem recipeNode = new TreeGridItem(recipe.Title) { Tag = recipe.ID }; categoryNode.Children.Add(recipeNode); } } // expand and select the first example treeView1.Nodes()[0].Expanded = true; treeView1.SelectedItem = (treeView1.Nodes()[0] as TreeGridItem).Children[0]; }
/// <summary>Given a (parent) feature's form item, check it and its children to see if they were selected (in the form)</summary> public static void GetKeyValueTextIfSelected(TreeGridItem item, ref List <string> keyvalues) { var childSelections = new List <string>(); for (var j = 0; j < item.Children.Count; j++) { var childItem = item.Children[j] as OSMTreeGridItem; var childIsChecked = childItem.Values[1].ToString() == "True"; if (childIsChecked) { childSelections.Add(childItem.Values[keyValueIndex].ToString()); } } var itemIsChecked = item.Values[1].ToString() == "True"; if (itemIsChecked && childSelections.Count == item.Children.Count) { keyvalues.Add(item.Values[keyValueIndex].ToString()); // If all children are selected; just add the top-level x=* KeyValue } else { keyvalues.AddRange(childSelections); // If some children are selected; just add them } return; }
public void Update(IEnumerable <libexeinfo.NE.ResourceType> resourceTypes, libexeinfo.NE.TargetOS os) { TreeGridItemCollection treeData = new TreeGridItemCollection(); foreach (libexeinfo.NE.ResourceType resourceType in resourceTypes.OrderBy(r => r.name)) { TreeGridItem root = new TreeGridItem { Values = new object[] { $"{resourceType.name}", null, null, null, os, null } }; foreach (libexeinfo.NE.Resource resource in resourceType.resources.OrderBy(r => r.name)) { root.Children.Add(new TreeGridItem { Values = new object[] { $"{resource.name}", $"{resource.data.Length}", $"{(libexeinfo.NE.ResourceFlags)((ushort)resource.flags & libexeinfo.NE.KNOWN_RSRC_FLAGS)}", $"{resourceType.name}", os, resource } }); } treeData.Add(root); } treeResources.DataStore = treeData; }
/// <summary> /// 1. Add a visual tree node to a tree item. /// 2. Find the imediate children and add them as a child. /// 3. Repeat. /// </summary> /// <param name="parentNode"></param> /// <param name="parentItem"></param> private void AddNodeToVisualTree(VisualTreeNode parentNode, TreeGridItem parentItem) { // If the parentNode doesn't have any children, no need to continue. if (parentNode.Widget?.Children == null || !parentNode.Widget.Children.Any()) { return; } foreach (var child in parentNode.Widget.Children) { _views++; var childNode = new VisualTreeNode { Widget = child }; var childGridItem = new TreeGridItem { Tag = childNode, Expanded = true }; parentItem.Children.Add(childGridItem); AddNodeToVisualTree(childNode, childGridItem); } }
public List <TreeGridItem> GetTemplatesLite(string sort, string searchString, int templateType) { BaseService.CheckLoginAndLicense(); //IsNewsletterTemplate string where = String.Format("FK_Site='{0}' AND IsNewsletterTemplate={1}", SessionObject.CurrentSite.ID, templateType.ToString()); if (searchString != null && searchString != "") { where += String.Format(" AND Name like '%{0}%'", searchString); } List <TreeGridItem> returnList = new List <TreeGridItem>(); BaseCollection <CmsTemplate> templates = BaseCollection <CmsTemplate> .Get(where, sort); foreach (CmsTemplate template in templates) { TreeGridItem item = TreeGridItem.NewPublishableItem <CmsTemplate>(template); item.Icon = template.Screenshot + "?" + DateTime.Now.Ticks; item.LanguageCode = template.LanguageCode; if (searchString != null && searchString != "") { item.Name = item.Name.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); //item.Title = item.Title.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); } returnList.Add(item); } return(returnList); }
private void PopulateResultExplorerMatch(MatchCollection matches, string[] groupNames) { tvwResultExplorer.SuspendLayout(); ResetResultExplorer(); var treeGridItemCollection = new TreeGridItemCollection(); foreach (Match match in matches) { var item = new TreeGridItem() { Values = new string[] { match.Value }, Tag = match }; foreach (string groupName in groupNames.Where(g => g != "0")) { Group group = match.Groups[groupName]; item.Children.Add(new TreeGridItem() { Values = new string[] { $"{groupName}: {group.Value}" }, Tag = group }); } treeGridItemCollection.Add(item); } tvwResultExplorer.DataStore = treeGridItemCollection; tvwResultExplorer.ResumeLayout(); }
public List <TreeGridItem> GetDataCollections(string sort, string searchString) { BaseService.CheckLoginAndLicense(); string where = String.Format("FK_Site='{0}'", SessionObject.CurrentSite.ID); if (searchString != null && searchString != "") { where += String.Format("AND Name like '%{0}%'", searchString); } List <TreeGridItem> returnList = new List <TreeGridItem>(); BaseCollection <DataCollection> collections = BaseCollection <DataCollection> .Get(where, sort); foreach (DataCollection collection in collections) { TreeGridItem item = TreeGridItem.NewItem <DataCollection>(collection); item.Icon = ""; //TODO laten afhangen van type item.Type = collection.TypeString; item.Status = collection.ChangeStatusString; item.LanguageCode = collection.LanguageCode; item.HasAutorisation = collection.HasAutorisation; if (searchString != null && searchString != "") { item.Name = item.Name.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); //item.Title = item.Title.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); } returnList.Add(item); } return(returnList); }
private TreeGridItem GetorAddItem(TreeGridItem root, IProjectItem item) { var enumerator = root.Children.GetEnumerator(); var folder = item is DirectoryItem; var items = new List <string>(); int pos = 0; while (enumerator.MoveNext()) { var citem = enumerator.Current as TreeGridItem; if (citem.GetValue(1).ToString() == item.Name) { return(citem); } if (folder) { if (citem.Tag is DirectoryItem) { items.Add(citem.GetValue(1).ToString()); } } else { if (citem.Tag is DirectoryItem) { pos++; } else { items.Add(citem.GetValue(1).ToString()); } } } items.Add(item.Name); items.Sort(); pos += items.IndexOf(item.Name); var ret = new TreeGridItem(); if (item is DirectoryItem) { ret.SetValue(0, Global.GetEtoDirectoryIcon(item.Exists)); } else { ret.SetValue(0, Global.GetEtoFileIcon(PipelineController.Instance.GetFullPath(item.OriginalPath), item.Exists)); } ret.SetValue(1, item.Name); ret.Tag = item; root.Children.Insert(pos, ret); _treeView.ReloadItem(root); return(ret); }
private void LoadMachines() { Machines = Machine.GetAll(); MachineSelectorItems.Clear(); var machineIcon = Icons.Get("vm", IconSize.Large); foreach (Machine machine in Machines) { var machineTreeGridItem = new TreeGridItem() { Expanded = false, Values = new object[] { machineIcon, machine.Name }, }; MachineSelectorItems.Add(machineTreeGridItem); } MachineSelector.DataStore = MachineSelectorItems; if (MachineSelectorItems.Count > 0) { MachineSelector.SelectedRow = 0; } MachinesLoaded = true; UpdateTitle(); }
public List <TreeGridItem> GetUsers(string sort, int pageNumber, int pageSize, string searchString) { BaseService.CheckLoginAndLicense(); List <TreeGridItem> returnValue = new List <TreeGridItem>(); string where = String.Format(@" EXISTS(SELECT * FROM SiteUserGroup g INNER JOIN SiteUserGroupPerUser ug ON ug.FK_UserGroup = g.ID WHERE g.FK_Site='{0}' AND ug.FK_User = SiteUser.ID)", SessionObject.CurrentSite.ID); Guid environmentId = Guid.Empty; //todo string connectionString = getConnectionString(environmentId); BaseCollection <SiteUser> users = BaseCollection <SiteUser> .Get(where, sort, pageNumber, pageSize, connectionString : connectionString); foreach (SiteUser user in users) { TreeGridItem item = TreeGridItem.NewItem <SiteUser>(user); item.Name = user.CompleteName; foreach (SiteUserGroup group in user.UserGroups) { item.Field1 += group.CompleteName + ", "; } if (item.Field1 != null && item.Field1 != "") { item.Field1 = item.Field1.Substring(0, item.Field1.Length - 2); } returnValue.Add(item); } return(returnValue); }
public List <TreeGridItem> GetItems(string datacollectionid, string groupid, string groupPath, string sort, string searchString, int pageNumber, int pageSize) { BaseService.CheckLoginAndLicense(); if ((groupid == null || groupid == "") && (groupPath != null && groupPath != "")) { //haal folder id op vanuit path //path wordt gebruikt als er vanuit de breadcrumb wordt genavigeerd string where = String.Format("CompletePath = '{0}'", groupPath); DataGroup group = BaseObject.GetFirst <DataGroup>(where); groupid = group.ID.ToString(); } if (sort == "" || sort == null) { sort = "OrderNumber"; } string whereItems = String.Format("FK_DataCollection = '{0}' AND FK_Parent_Group='{1}'", datacollectionid, groupid); if (groupid == null || groupid == "" || groupid == Guid.Empty.ToString()) { whereItems = String.Format("FK_DataCollection = '{0}' AND FK_Parent_Group Is Null", datacollectionid); } if (searchString != null && searchString != "") { whereItems = String.Format("FK_DataCollection = '{0}' AND (Name like '%{1}%' OR Title like '%{1}%')", datacollectionid, searchString); } BaseCollection <DataItem> itemslist = BaseCollection <DataItem> .Get(whereItems, sort, pageNumber, pageSize); List <TreeGridItem> returnList = new List <TreeGridItem>(); foreach (DataItem dataItem in itemslist) { TreeGridItem item = TreeGridItem.NewItem <DataItem>(dataItem); item.Title = dataItem.Title; item.Field1 = dataItem.OrderNumber.ToString(); if (searchString != null && searchString != "") { if (dataItem.ParentGroup != null) { item.Field2 = dataItem.ParentGroup.CompletePath; item.Field3 = dataItem.ParentGroup.ID.ToString(); } //item.Name = item.Name.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); //item.Title = item.Title.Replace(searchString, "<span class='highlight'>" + searchString + "</span>"); item.Name = StringHelper.HighlightSearchResults(item.Name, searchString); item.Title = StringHelper.HighlightSearchResults(item.Title, searchString); } item.Status = dataItem.ChangeStatusString; returnList.Add(item); } return(returnList); }
private string FlipCheckbox(TreeGridItem item) // to string, flip, and back again { var currentValue = item.GetValue(1); bool.TryParse(currentValue as string, out var currentBool); bool newBool = !currentBool; return(newBool.ToString()); }
public MyForm() { // sets the client (inner) size of the window for your content this.ClientSize = new Eto.Drawing.Size(600, 400); this.Title = "Hello, Eto.Forms"; Content = new Label { Text = "Some content", VerticalAlign = VerticalAlign.Middle, HorizontalAlign = HorizontalAlign.Center }; TreeGridView view = new TreeGridView(); view.Columns.Add(new GridColumn() { HeaderText = "Test", DataCell = new TextBoxCell(0), AutoSize = true, Resizable = true, Editable = false }); view.Columns.Add(new GridColumn() { HeaderText = "Id", DataCell = new TextBoxCell(1), AutoSize = true, Resizable = true, Editable = false }); TreeGridItemCollection data = new TreeGridItemCollection(); TreeGridItem child = new TreeGridItem() { Values = new object[] { "Testing1", "Testing2" } }; TreeGridItem child2 = new TreeGridItem() { Values = new object[] { "Testing3", "Testing4" } }; TreeGridItem child3 = new TreeGridItem() { Values = new object[] { "Testing3", "Testing4" } }; child.Children.Add(new TreeGridItem() { Values = new object[] { "1", "2" } }); child2.Children.Add(new TreeGridItem() { Values = new object[] { "3", "4" } }); child3.Children.Add(new TreeGridItem() { Values = new object[] { "5", "6" } }); data.Add(child); data.Add(child2); child2.Children.Add(child3); view.DataStore = data; Content = view; }
private UPath GetAbsolutePath(TreeGridItem item) { if (item?.Parent == null) { return(UPath.Root); } return(GetAbsolutePath((TreeGridItem)item.Parent) / (string)item.Values[1]); }
private void TreeView1_SelectedItemChanged(object sender, EventArgs e) { TreeGridItem selectedNode = treeView1.SelectedItem as TreeGridItem; if (selectedNode is null || selectedNode.Tag is null) { return; } LoadDemo(selectedNode.Tag.ToString()); }
public void AddItem(TreeGridItem root, IProjectItem citem, string path, string currentPath) { var split = path.Split('/'); var item = GetorAddItem(root, split.Length > 1 ? new DirectoryItem(split[0], currentPath) : citem); if (path.Contains("/")) { AddItem(item, citem, string.Join("/", split, 1, split.Length - 1), currentPath + Path.DirectorySeparatorChar + split[0]); } }
TreeGridItem CreateComplexTreeItem (int level, string name, Image image) { var item = new TreeGridItem { Expanded = expanded++ % 2 == 0 }; item.Values = new object[] { image, "col 0 - " + name, "col 1 - " + name }; if (level < 4) { for (int i = 0; i < 4; i++) { item.Children.Add (CreateComplexTreeItem (level + 1, name + " " + i, image)); } } return item; }
private TreeGridItem GetCommentTree(Comment comment) { List<string> top5 = comment.GetTopNWords(5); TreeGridItem tgi = new TreeGridItem(); if (top5.Count > 0) { string all5 = string.Empty; foreach (string s in top5) { all5 += s + " "; } tgi.Values = new object[] { all5 }; RichTextArea rta = new RichTextArea(); rta.Text = comment.Text; tgi.Children.Add(new TreeGridItem() { Values = new object[] { comment.Text } }); foreach (Comment commentChild in comment.Comments) { TreeGridItem tgic = GetCommentTree(commentChild); tgi.Children.Add(tgic); } } else { tgi.Tag = "empty"; } return tgi; }
private TreeGridItemCollection GetTree(List<FullStory> stories) { TreeGridItemCollection data = new TreeGridItemCollection(); foreach (FullStory story in stories) { TreeGridItem tgiParent = new TreeGridItem() { Values = new object[] { WebUtility.HtmlDecode(story.title) } }; string all5 = string.Empty; foreach (string s in story.GetTopNWords(5)) { all5 += s + " "; } tgiParent.Children.Add(new TreeGridItem() { Values = new object[] { WebUtility.HtmlDecode(all5) } }); data.Add(tgiParent); foreach (children child in story.children) { TreeGridItem tgi = GetCommentTree(child); if (tgi.Tag != "empty") { tgiParent.Children.Add(tgi); } } } return data; }