private void OnNeedDataSource(DataSourceEventArgs args) { if (NeedDataSource != null) { NeedDataSource(this, args); } }
private void InternalDataBind() { if (!requiresDataBind) { return; } object dataSource = string.IsNullOrEmpty(DataSourceID) ? null : SearchControl(this.Page, DataSourceID); if (dataSource == null) { DataSourceEventArgs args = new DataSourceEventArgs(dataSource); OnNeedDataSource(args); dataSource = args.DataSource; } if (dataSource != null) { if (dataSource is System.Web.UI.WebControls.ObjectDataSource) { System.Web.UI.WebControls.ObjectDataSource objectDataSource = dataSource as System.Web.UI.WebControls.ObjectDataSource; DataBindToIEnumerable(objectDataSource.Select()); } else if (dataSource is IEnumerable) { DataBindToIEnumerable(dataSource as IEnumerable); } } requiresDataBind = false; }