void gv_MouseClick(object sender, MouseEventArgs e) { drug = xapFormControl1.GetFocused <EmsOrDrug>("drug"); if (gv.GetFocusedRow().ClickCell.FieldName == "Name_mm") { string id_srv = (gv.GetFocusedRow().RowDataSource as EmsOrDrug).Id_srv; //拿到 点击的药品对应服务的id_srv //根据服务id 取到 服务关联的药品 , if (this.EmsHeadDO.Emsdrugs.EmsOrDrug.Count > 1) //如果只有一条 { MmForm mmref = new MmForm(this.EmsHeadDO.Emsdrugs.EmsOrDrug, this.EmsHeadDO.Emsdrugs); Point formPoint = Control.MousePosition; mmref.StartPosition = FormStartPosition.Manual; mmref.Location = gv.PointToScreen(new Point(gv.Location.X, gv.Location.Y + gv.Size.Height + 1)); mmref.TopMost = true; if (mmref.ShowDialog() == DialogResult.OK) { EmsOrDrug orDrug = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[gv.FocusedRowHandle]; string id_mm = mmref.drugmm.Id_mm; string id_dep_phy = this.EmsHeadDO.Emsdrugs.Id_dep; GetStockReqDTO reqDto = new GetStockReqDTO(); reqDto.Id_dep = id_dep_phy; reqDto.Id_mm = id_mm; reqDto.Req_unit_id = mmref.drugmm.Id_unit_med; GetStockReqDTO[] reqDtoArr = new GetStockReqDTO[1]; reqDtoArr[0] = reqDto; try { MaterialStockDTO[] materialArr = cof.getMaterialStocksCount(reqDtoArr); if (materialArr != null && materialArr.Length > 0) { MaterialStockDTO material = materialArr[0]; if (material != null && material.Quan_stock > 0) { cof.CopyTo(mmref.drugmm, orDrug, "Id_srv", "Name_srv"); } else { this.ShowInfo("该药品在" + this.EmsHeadDO.Emsdrugs.Name_dep + "库存为零,请重新选择药品或更改执行科室!"); return; } } } catch //(Exception ex) { } } } } }
void xapFormControl1_DataChanged(object sender, DataChangedEventArgs e) { //XDataRow row = sender as XDataRow; //Point temp = LocationOnClient(this.gv); //frm.Location = new Point(temp.X, // temp.Y + row.ClickCell.Location.Y + row.ClickCell.Size.Height); if (e.ClassName == typeof(EmsOrDrug).FullName) { switch (e.PropName) { case "Name_srv": XapDataList <EmsOrSrvSc> list = model.GetSrv("", e.Input.ToString(), ent4BannerDto.Code_entp); frm = new OrSrvForm(list); //frm = new OrSrvForm(); frm.DbClickEvent += new OrSrvForm.DbClickHandle(frm_DbClickEvent); frm.Size = new Size(400, 600); frm.StartPosition = FormStartPosition.CenterScreen; frm.TopMost = true; frm.Show(this); break; case "Name_mm": EmsOrDrug orDrug = gv_drug.GetFocusedRow().RowDataSource as EmsOrDrug; XapDataList <EmsOrDrug> Druglist = cof.GetSrvMm(CiHeadDo, orDrug.Id_srv, CiHeadDo.PatInfo.Code_entp);// model.GetBdSrvMM(orDrug.Id_srv); form = new MmForm(Druglist); form.Show(); orDrug.Name_mm = form.drugmm.Name_mm; orDrug.Spec_mm = ""; orDrug.Name_hp = "医保?"; orDrug.Limit = ""; orDrug.Price = 22; break; default: break; } } }
void gv_MouseClick(object sender, MouseEventArgs e) { drug = xapFormControl1.GetFocused <EmsOrDrug>("drug"); if (gv.GetFocusedRow().ClickCell.FieldName == "Name_mm") { string id_srv = (gv.GetFocusedRow().RowDataSource as EmsOrDrug).Id_srv; //拿到 点击的药品对应服务的id_srv //根据服务id 取到 服务关联的药品 , if (EmsHeadDO.Emsdrugs.EmsOrDrug.Count > 1) //如果只有一条 { MmForm mmref = new MmForm(EmsHeadDO.Emsdrugs.EmsOrDrug, EmsHeadDO.Emsdrugs); Point formPoint = Control.MousePosition; mmref.Local = formPoint; mmref.TopMost = true; if (mmref.ShowDialog() == DialogResult.OK) { EmsOrDrug orDrug = EmsHeadDO.Emsdrugs.EmsOrDrugList[gv.FocusedRowHandle]; cof.CopyTo(mmref.drugmm, orDrug, "Id_srv", "Name_srv"); } } } }
void gv_MouseClick(object sender, MouseEventArgs e) { //if (gv.FocusedRowHandle < 0) return; emsOrDrug = gv.GetFocusedRow().RowDataSource as EmsOrDrug; // 待修改 if (gv.GetFocusedRow().ClickCell.FieldName == "Name_mm") { string id_srv = emsOrDrug.Id_srv; //拿到 点击的药品对应服务的id_srv if (this.EmsHeadDO.Emsdrugs.EmsOrDrug.Count > 1) //如果只有一条 { List <EmsOrDrug> list = this.EmsHeadDO.Emsdrugs.EmsOrDrug.ToList().Where <EmsOrDrug>(p => p.Id_srv == id_srv).ToList(); MmForm mmref = new MmForm(cof.ConvertDataSouse <EmsOrDrug>(list), this.EmsHeadDO.Emsdrugs); Point formPoint = Control.MousePosition; mmref.Local = formPoint; mmref.TopMost = true; mmref.ShowDialog(); if (mmref.DialogResult == DialogResult.OK) { string id_mm = mmref.drugmm.Id_mm; string id_dep_phy = this.EmsHeadDO.Emsdrugs.Id_dep; GetStockReqDTO reqDto = new GetStockReqDTO(); reqDto.Id_dep = id_dep_phy; reqDto.Id_mm = id_mm; reqDto.Req_unit_id = mmref.drugmm.Id_unit_med; GetStockReqDTO[] reqDtoArr = new GetStockReqDTO[1]; reqDtoArr[0] = reqDto; try { MaterialStockDTO[] materialArr = cof.getMaterialStocksCount(reqDtoArr); if (materialArr != null && materialArr.Length > 0) { MaterialStockDTO material = materialArr[0]; if (material != null && material.Quan_stock > 0) { //下面是正确的做法 只对 关键值进行替换 EmsOrDrug orDrug = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[gv.FocusedRowHandle]; orDrug.Name_mm = mmref.drugmm.Name_mm; //药品名称 orDrug.Spec_mm = mmref.drugmm.Spec_mm; //规格 orDrug.Name_hp = mmref.drugmm.Name_hp; //医保类型 orDrug.Limit = mmref.drugmm.Limit; //限制报销条件 orDrug.Price = mmref.drugmm.Price; //参考价格 } else { this.ShowInfo("该药品在" + this.EmsHeadDO.Emsdrugs.Name_dep + "库存为零,请重新选择药品或更改执行科室!"); return; } } } catch //(Exception ex) { } } } } //} }