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 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) { } } } } //} }