// <snippet4> protected override void PerformDataBinding() { base.PerformDataBinding(); // Do not attempt to bind data if there is no // data source set. if (!IsBoundUsingDataSourceID && (DataSource == null)) { return; } HierarchicalDataSourceView view = GetData(RootNode.DataPath); if (view == null) { throw new InvalidOperationException ("No view returned by data source control."); } IHierarchicalEnumerable enumerable = view.Select(); if (enumerable != null) { Nodes.Clear(); try { RecurseDataBindInternal(RootNode, enumerable, 1); } finally { } } }
public HierarchicalDataSourceView GetHierarchicalView(string viewPath) { if (_view == null) { _view = new HierarchicalModelDataSourceView(DataSource.ToHierarchicalModelList()); } return(_view); }
public void SiteMapDataSource_HierarchicalDataSourceView() { PokerSiteMapDataSource p = new PokerSiteMapDataSource(); p.Provider = new mySiteMapProvider(); HierarchicalDataSourceView h = p.DoHierarchicalDataSourceView("1"); Assert.IsNotNull(h, "HierarchicalDataSourceView"); }
public HierarchicalDataSourceView GetHierarchicalView(string viewPath) { if (_view == null) { var type = BuildManager.GetType(TypeName, true, false); var instance = Activator.CreateInstance(type); _view = (HierarchicalDataSourceView)instance; } return(_view); }
protected virtual HierarchicalDataSourceView GetData(string viewPath) { string str = viewPath; HierarchicalDataSourceView hierarchicalView = this.ConnectToHierarchicalDataSource().GetHierarchicalView(str); if (hierarchicalView == null) { throw new InvalidOperationException(System.Web.SR.GetString("HierarchicalDataControl_ViewNotFound", new object[] { this.ID })); } return(hierarchicalView); }
protected override void PerformDataBinding() { base.PerformDataBinding(); this.InitializeDataBindings(); HierarchicalDataSourceView data = this.GetData(string.Empty); if (data != null) { this.Nodes.Clear(); IHierarchicalEnumerable hEnumerable = data.Select(); this.FillBoundChildrenRecursive(hEnumerable, this.Nodes); } }
public void TestIHierarchicalEnumerableDataSource() { List <TestNode> list = new List <TestNode> (); list.Add(new TestNode("test", null, null)); TestHierarchy hierarchy = new TestHierarchy(list); MyHierarchicalDataBoundControl c = new MyHierarchicalDataBoundControl(); c.DataSource = hierarchy; c.DataBind(); HierarchicalDataSourceView view = c.GetData(""); Assert.IsNotNull(view); }
internal IHierarchicalEnumerable GetHierarchicalRuntimeEnumerable(string path) { System.Web.UI.WebControls.XmlDataSource designTimeXmlDataSource = this.GetDesignTimeXmlDataSource(string.Empty); if (designTimeXmlDataSource == null) { return(null); } HierarchicalDataSourceView hierarchicalView = ((IHierarchicalDataSource)designTimeXmlDataSource).GetHierarchicalView(path); if (hierarchicalView == null) { return(null); } return(hierarchicalView.Select()); }
protected override void PerformDataBinding() { base.PerformDataBinding(); if (!(IsBoundUsingDataSourceID) && (DataSource != null)) { return; } HierarchicalDataSourceView view = GetData(String.Empty); IHierarchicalEnumerable enumerable = view.Select(); if (enumerable != null) { StringBuilder sb = new StringBuilder(); RecursiveDataBindInternal(enumerable, sb); _items = sb.ToString(); } }
/// <devdoc> /// Gets the HierarchicalDataSourceView of the IHierarchicalDataSource /// that this control is bound to, if any. /// </devdoc> protected virtual HierarchicalDataSourceView GetData(string viewPath) { string currentViewPath = viewPath; IHierarchicalDataSource ds = ConnectToHierarchicalDataSource(); Debug.Assert(_currentDataSourceValid); Debug.Assert(ds != null); // IHierarchicalDataSource was found, extract the appropriate view and return it HierarchicalDataSourceView view = ds.GetHierarchicalView(currentViewPath); if (view == null) { throw new InvalidOperationException(SR.GetString(SR.HierarchicalDataControl_ViewNotFound, ID)); } return(view); }
protected void ASPxCallback1_Callback(object sender, CallbackEventArgs e) { int newsID = int.Parse(e.Parameter); IHierarchicalDataSource dataSource = (IHierarchicalDataSource)XmlDataSource1; HierarchicalDataSourceView view = dataSource.GetHierarchicalView(""); IHierarchicalEnumerable enumerable = view.Select(); int index = 1; string text = ""; foreach (object obj in enumerable) { if (newsID == index) { IHierarchyData data = enumerable.GetHierarchyData(obj); PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(data); PropertyDescriptor descriptor = properties.Find("Text", true); text = descriptor.GetValue(obj).ToString(); break; } index++; } e.Result = text; }
public void GetHierarchicalView() { Page page = new Page(); DSPoker ds = new DSPoker(); ds.ID = "ds"; ds.Data = @"<?xml version=""1.0"" encoding=""utf-8""?> <bookstore xmlns:bk=""urn:samples""> <book genre=""novel"" publicationdate=""1999"" bk:ISBN=""0192100262""> <title>Pride and Prejudice</title> <author> <first-name>Jane</first-name> <last-name>Austen</last-name> </author> <price>24.95</price> </book> <book genre=""novel"" publicationdate=""1985"" bk:ISBN=""0771008139""> <title>The Handmaid's Tale</title> <author> <first-name>Margaret</first-name> <last-name>Atwood</last-name> </author> <price>29.95</price> </book> </bookstore>" ; HierarchicalDataSourceView view = ds.DoGetHierarchicalView(""); IHierarchicalEnumerable num = view.Select(); foreach (object obj in num) { IHierarchyData hdata = num.GetHierarchyData(obj); XmlElement element = (XmlElement)hdata.Item; Assert.AreEqual("bookstore", element.Name, "RootElementName"); Assert.AreEqual("Pride and PrejudiceJaneAusten24.95The Handmaid's TaleMargaretAtwood29.95", element.InnerText, "InnerText"); Assert.AreEqual(2, element.ChildNodes.Count, "ChildElementNodes"); } }
protected override void PerformDataBinding() { base.PerformDataBinding(); if (!(IsBoundUsingDataSourceID) && (DataSource != null)) { return; } HierarchicalDataSourceView view = GetData(String.Empty); IHierarchicalEnumerable enumerable = view.Select(); if (ApplicationServices.IsSiteContentEnabled && !(ApplicationServices.IsSafeMode)) { SiteContentFileList sitemaps = ApplicationServices.Current.ReadSiteContent("sys/sitemaps%", "%"); if (sitemaps.Count > 0) { bool hasMain = false; foreach (SiteContentFile f in sitemaps) { if (f.PhysicalName == "main") { hasMain = true; sitemaps.Remove(f); sitemaps.Insert(0, f); break; } } if (!(hasMain) && (enumerable != null)) { StringBuilder msb = new StringBuilder(); BuildMainMenu(enumerable, msb, 1); SiteContentFile main = new SiteContentFile(); main.Text = Localizer.Replace("Pages", Path.GetFileName(Page.Request.PhysicalPath), msb.ToString()); sitemaps.Insert(0, main); } string text = null; if (sitemaps.Count > 1) { SiteMapBuilder sm = new SiteMapBuilder(); foreach (SiteContentFile cf in sitemaps) { string sitemapText = cf.Text; if (!(String.IsNullOrEmpty(sitemapText))) { MatchCollection coll = MenuItemRegex.Matches(sitemapText); foreach (Match m in coll) { sm.Insert(m.Groups["Title"].Value, m.Groups["Depth"].Value.Length, m.Groups["Text"].Value); } } } text = sm.ToString(); } else { text = sitemaps[0].Text; } StringBuilder sb = new StringBuilder(); if (!(String.IsNullOrEmpty(text))) { bool first = true; Match m = MenuItemRegex.Match(text); while (m.Success) { BuildNode(ref m, sb, first); if (first) { first = false; } } _items = Regex.Replace(sb.ToString(), "(\\{\\}\\,?)+", String.Empty).Replace("},]", "}]"); return; } } } if (enumerable != null) { StringBuilder sb = new StringBuilder(); RecursiveDataBindInternal(enumerable, sb); _items = sb.ToString(); } }