private void CreateOutputDetailPanel(VLayoutPanel vPanel) { var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left)); hPanel.Add(new LiteralControl("<h2>明细清单:</h2>")); if (CanSave) { hPanel.Add(new TSButton("载入明细")).Click += delegate { GetFromUI(); Dmo.Details.Clear(); AddLoadDetailQy(); outputDetailGrid.DataBind(); AspUtil.Alert(this, "载入投入明细成功"); }; hPanel.Add(new SimpleLabel("选择存货")); var selectEmp = hPanel.Add(new ChoiceBox(B3UnitedInfosConsts.DataSources.存货) { Width = Unit.Pixel(130), EnableInputArgument = true, AutoPostBack = true }); selectEmp.SelectedValueChanged += delegate { outputDetailGrid.GetFromUI(); if (!selectEmp.IsEmpty) { var empID = long.Parse(selectEmp.Value); if (!Dmo.Details.Any(x => x.Goods_ID == empID)) { var d = new ProduceInput_Detail() { Goods_ID = empID }; DmoUtil.RefreshDependency(d, "Goods_ID"); Dmo.Details.Add(d); } } selectEmp.Clear(); outputDetailGrid.DataBind(); }; } var detailEditor = new DFCollectionEditor <ProduceInput_Detail>(() => Dmo.Details) { AllowDeletionFunc = () => CanSave, CanDeleteFunc = detail => CanSave, IsEditableFunc = (field, detail) => CanSave }; outputDetailGrid = vPanel.Add(new DFEditGrid(detailEditor) { Width = Unit.Percentage(100) }); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); AddDetailColumn(outputDetailGrid); }
/// <summary> /// 载入明细 /// </summary> /// <param name="dmo"></param> public void GetGoodsDetailList(ProduceInput dmo) { var goodsList = GetGoodsList(dmo); foreach (var goods in goodsList) { var detail = new ProduceInput_Detail(); detail.Goods_ID = goods.Goods_ID; detail.Goods_Name = goods.Goods_Name; detail.Goods_Code = goods.Goods_Code; detail.Goods_Spec = goods.Goods_Spec; detail.Goods_MainUnit = goods.Goods_MainUnit; detail.Goods_SecondUnit = goods.Goods_SecondUnit; detail.Number = (Money <decimal>?)goods.Number; detail.SecondNumber = (Money <decimal>?)goods.SecondNumber; dmo.Details.Add(detail); } ; }