private void loadTaiSanToGridTaiSan() { this.viewTaiSanRowBindingSource.DataSource = viewTaiSanTableAdapter.GetDataForBanGiaoTaiSan(); this._taiSanIdToSoLuongDictionary = new Dictionary <int, double>(); foreach (ViewTaiSanRow viewTaiSanRow in (ViewTaiSanDataTable)this.viewTaiSanRowBindingSource.DataSource) { if (this._taiSanIdToSoLuongDictionary.ContainsKey(viewTaiSanRow.TaiSanId)) { this._taiSanIdToSoLuongDictionary[viewTaiSanRow.TaiSanId] += viewTaiSanRow.SoLuong; } else { this._taiSanIdToSoLuongDictionary.Add(viewTaiSanRow.TaiSanId, viewTaiSanRow.SoLuong); } } if (this.DataTable != null) { DataView dataView = (DataView)this.viewBanGiaoTaiSanRowBindingSource.List; foreach (DataRowView rowView in dataView) { ViewBanGiaoTaiSanRow viewBanGiaoTaiSanRow = (ViewBanGiaoTaiSanRow)rowView.Row; if (viewBanGiaoTaiSanRow.IsSoLuongBanGiaoNull()) { continue; } if (this._taiSanIdToSoLuongDictionary.ContainsKey(viewBanGiaoTaiSanRow.TaiSanId)) { this._taiSanIdToSoLuongDictionary[viewBanGiaoTaiSanRow.TaiSanId] += viewBanGiaoTaiSanRow.SoLuongBanGiao; } else { this._taiSanIdToSoLuongDictionary.Add(viewBanGiaoTaiSanRow.TaiSanId, viewBanGiaoTaiSanRow.SoLuongBanGiao); } } } }
private void gvLop_RowUpdated(object sender, RowObjectEventArgs e) { DataRowView dataRowView = (DataRowView)e.Row; ViewBanGiaoTaiSanRow viewBanGiaoTaiSanRow = (ViewBanGiaoTaiSanRow)dataRowView.Row; int taiSanRowIndex = this.viewTaiSanRowBindingSource.Find("TaiSanId", viewBanGiaoTaiSanRow.TaiSanId); if (taiSanRowIndex >= 0) { this.viewTaiSanRowBindingSource.Position = taiSanRowIndex; DataRowView rowView = this.viewTaiSanRowBindingSource.Current as DataRowView; QLMamNon.Dao.QLMamNonDs.ViewTaiSanRow taiSanRow = rowView.Row as QLMamNon.Dao.QLMamNonDs.ViewTaiSanRow; taiSanRow.SoLuong = this._taiSanIdToSoLuongDictionary[viewBanGiaoTaiSanRow.TaiSanId] - viewBanGiaoTaiSanRow.SoLuongBanGiao; if (taiSanRow.SoLuong <= 0) { this.viewTaiSanRowBindingSource.RemoveCurrent(); } } else { if (viewBanGiaoTaiSanRow.RowState == DataRowState.Modified) { double remainSoLuong = (this._taiSanIdToSoLuongDictionary[viewBanGiaoTaiSanRow.TaiSanId] - viewBanGiaoTaiSanRow.SoLuongBanGiao); if (remainSoLuong > 0) { DataRowView newRowView = this.viewTaiSanRowBindingSource.AddNew() as DataRowView; QLMamNon.Dao.QLMamNonDs.ViewTaiSanRow newRow = newRowView.Row as QLMamNon.Dao.QLMamNonDs.ViewTaiSanRow; newRow.Ten = viewBanGiaoTaiSanRow.Ten; newRow.TaiSanId = viewBanGiaoTaiSanRow.TaiSanId; newRow.SoChungTu = viewBanGiaoTaiSanRow.SoChungTu; newRow.NgayChungTu = viewBanGiaoTaiSanRow.NgayChungTu; newRow.DonViTinh = viewBanGiaoTaiSanRow.DonViTinh; newRow.DonGia = viewBanGiaoTaiSanRow.DonGia; newRow.SoLuong = remainSoLuong; newRow.NgayNhap = viewBanGiaoTaiSanRow.NgayNhap; this.viewTaiSanRowBindingSource.EndEdit(); } } } }