/// <summary> /// 构造函数。 /// </summary> protected DataSourceViewEx(IDataSourceEx owner,string viewName) { if (owner == null) throw new ArgumentNullException("owner"); //if (string.IsNullOrEmpty(viewName)) // throw new ArgumentNullException("viewName"); this.name = viewName; owner.DataSourceChanged += new EventHandler(delegate(object sender, EventArgs e) { this.OnDataSourceViewChanged(e); }); }
DataSourceViewEx ConnectToDataSourceView() { if (!this.currentViewValid || base.DesignMode) { if (this.currentView != null) this.currentView.DataSourceViewChanged -= new EventHandler(this.OnDataSourceViewChanged); this.currentDataSource = this.GetDataSource(); string dataMember = this.DataMember; if (this.currentDataSource == null) { //this.OnBuildDataSource(EventArgs.Empty); this.currentDataSource = new ReadOnlyDataSourceEx(this.DataSource, dataMember); } this.currentDataSourceValid = true; DataSourceViewEx view = this.currentDataSource.GetView(dataMember); if (view == null) throw new InvalidOperationException("DataControl_ViewNotFound"); else { this.currentView = view; this.currentView.DataSourceViewChanged += new EventHandler(this.OnDataSourceViewChanged); this.currentViewValid = true; } } return this.currentView; }