AddBLL bll = new AddBLL();
        DataSet ds;
        private void FrmAdd_Load(object sender, EventArgs e)
        {
            ds = this.bll.GetAssetInfo();
            DataSet dst = this.bll.GetAssetType();
            DataSet ds1 = this.bll.GetStorageInf();
            DataSet ds2 = this.bll.GetDeptmentInf();            DataSet temp1 = ds1.Copy();
            DataSet temp2 = ds2.Copy();
            DataSet temp = dst.Copy();
            this.cboType.DataSource = temp.Tables["assetType"];
            this.cboType.DisplayMember = "TypeName";
            this.cboType.ValueMember = "TypeCode";            this.cboStorage.DataSource = temp1.Tables[0];
            this.cboStorage.DisplayMember = "StorageName";
            this.cboStorage.ValueMember = "StorageCode";            this.cboDept.DataSource = temp2.Tables[0];
            this.cboDept.DisplayMember = "DeptName";
            this.cboDept.ValueMember = "DeptNo";这里想问下红字部分 为什么先要把dataset 复制一下  再绑定到控件  为什么不直接将原dataset绑定到控件  还有这里的copy方法是浅复制吗

解决方案 »

  1.   

    在这段代码中并没有体现出来,估计是想改变其中的数据,而不影响其他的,如果不复制,就是引用效果,改一个,其他都会受到影响
      

  2.   

    楼上说的对。。如果不复制的。。你改变一个控件的值,另一个控制的值也会相应改变
      

  3.   

    你改变一个控件的值,另一个控制的值也会相应改变  你的意思是 两个控件是同一个数据源的情况 是吧