HierarchicalDataSourceView IHierarchicalDataSource.GetHierarchicalView(string viewPath) { IHierarchicalDataSource source = this._dataSource as IHierarchicalDataSource; if (source != null) { return(source.GetHierarchicalView(viewPath)); } IHierarchicalEnumerable dataSource = this._dataSource as IHierarchicalEnumerable; if (((dataSource != null) && (viewPath != null)) && (viewPath.Length != 0)) { throw new InvalidOperationException(System.Web.SR.GetString("ReadOnlyHierarchicalDataSourceView_CantAccessPathInEnumerable")); } return(new ReadOnlyHierarchicalDataSourceView(dataSource)); }
/// <devdoc> /// Check for IHierarchicalDataSource and IHierarchicalEnumerable, and /// return an approprite HierarchicalDataSourceView. /// </devdoc> HierarchicalDataSourceView IHierarchicalDataSource.GetHierarchicalView(string viewPath) { // Check first for IHierarchicalDataSource IHierarchicalDataSource ds = _dataSource as IHierarchicalDataSource; if (ds != null) { return(ds.GetHierarchicalView(viewPath)); } IHierarchicalEnumerable enumerable = _dataSource as IHierarchicalEnumerable; if (enumerable != null && viewPath != null && viewPath.Length != 0) { throw new InvalidOperationException(SR.GetString(SR.ReadOnlyHierarchicalDataSourceView_CantAccessPathInEnumerable)); } return(new ReadOnlyHierarchicalDataSourceView(enumerable)); }
/// <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 virtual HierarchicalDataSourceView GetData(string viewPath) { if (DataSource != null && DataSourceID != "") { throw new HttpException(); } IHierarchicalDataSource ds = GetDataSource(); if (ds != null) { return(ds.GetHierarchicalView(viewPath)); } if (DataSource is IHierarchicalEnumerable) { return(new ReadOnlyDataSourceView((IHierarchicalEnumerable)DataSource)); } return(null); }
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; }