/// <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;
 }