private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { DataRowView v = this.bindingSource1.Current as DataRowView; if (v == null) { return; } _Entity_IncreaseCosts info = new _Entity_IncreaseCosts(); _ObjectSource.GetObject(info, v.Row); _Methods_IncreaseInfo met = new _Methods_IncreaseInfo(this.Activitie, info); met.CurrentBegin(this.CurObj); }
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { switch (e.Item.Caption) { case "选择增加费": IncreaseCostsSelect s = new IncreaseCostsSelect(); s.Activitie = this.Activitie; s.DataSource = this.Activitie.Property.IncreaseCosts.DataSource.Copy(); s.CurObj = this.m_CurObj; DialogResult d = s.ShowDialog(); if (d == DialogResult.OK) { // (this.m_CurObj as _SubheadingsInfo).IncreaseCostsList.a foreach (DataRowView item in s.treeListEx1.CheckNodes) { DataRow[] rows = this.Activitie.StructSource.ModelIncreaseCosts.Select(string.Format("ZMID={0} and SSLB={1}", this.m_CurObj.ID, this.m_CurObj.SSLB)); if (IsEsixtZJF(rows, item["Code"].ToString())) { _Entity_IncreaseCosts info1 = new _Entity_IncreaseCosts(); _Method_IncreaseCosts.SetInfo(item.Row, info1); info1.EnID = this.m_CurObj.EnID; info1.UnID = this.m_CurObj.UnID; info1.ZMID = this.m_CurObj.ID; info1.QDID = this.m_CurObj.PID; this.Activitie.StructSource.ModelIncreaseCosts.Add(info1); _Methods_IncreaseInfo minfo = new _Methods_IncreaseInfo(this.Activitie, info1); minfo.CurrentBegin(this.m_CurObj); //计算当前行 } } } break; case "删除增加费": if (this.bindingSource1.Current == null) { return; } this.bindingSource1.RemoveCurrent(); break; default: break; } }
/// <summary> /// 关联到项目 /// </summary> public void Build(_Business m_Currentbus) { if (this.m_DataSource.Rows.Count < 1) { return; } //增加之前先删除增加费 DataRow[] subsegments = this.m_Parent.StructSource.ModelSubSegments.Select(" LB='子目-增加费'"); DataRow[] measures = this.m_Parent.StructSource.ModelMeasures.Select(" LB='子目-增加费'"); using (var calculator = new Calculator(m_Currentbus, m_Parent)) { for (int i = 0; i < subsegments.Length; i++) { var entity = new _Entity_SubInfo(); _ObjectSource.GetObject(entity, subsegments[i]); calculator.Entities.Add(entity); subsegments[i].Delete(); } for (int i = 0; i < measures.Length; i++) { var entity = new _Entity_SubInfo(); _ObjectSource.GetObject(entity, measures[i]); calculator.Entities.Add(entity); measures[i].Delete(); } } this.m_Parent.StructSource.ModelIncreaseCosts.Clear(); DataRow[] checkedRows = this.m_DataSource.Select("Check=True"); DataRow[] subItems = this.m_Parent.StructSource.ModelSubSegments.Select("LB='子目'"); using (var calculator = new Calculator(m_Currentbus, Parent)) { foreach (DataRow subItem in subItems) { _Entity_SubInfo subInfo = new _Entity_SubInfo(); _ObjectSource.GetObject(subInfo, subItem); foreach (DataRow row in checkedRows) { //若定额范围在指定范围之内 if (GLODSOFT.QDJJ.BUSINESS._Methods.ExistsBH(row["Fixed"].ToString(), subInfo)) { DataRow[] rwoss = this.m_Parent.StructSource.ModelIncreaseCosts.Select(string.Format("ZMID={0}", subInfo.ID)); if (IsEsixtZJF(rwoss, row["Code"].ToString())) { _Entity_IncreaseCosts info1 = new _Entity_IncreaseCosts(); _Method_IncreaseCosts.SetInfo(row, info1); info1.EnID = subInfo.EnID; info1.UnID = subInfo.UnID; info1.ZMID = subInfo.ID; info1.QDID = subInfo.PID; this.m_Parent.StructSource.ModelIncreaseCosts.Add(info1); _Methods_IncreaseInfo minfo = new _Methods_IncreaseInfo(this.Parent, info1); minfo.CurrentBegin(subInfo);//计算当前行 } } } } foreach (DataRow row in checkedRows) { Create(m_Currentbus, GetLocation(Convert.ToInt32(row["ParentID"])), row, calculator); } } }