private void CreateDetailPanel(TitlePanel titlePanel) { var hPanel = titlePanel.EAdd(new HLayoutPanel()); hPanel.Add(new LiteralControl("<h2>入库清单:</h2>")); if (CanSave) { hPanel.Add(new SimpleLabel("选择存货")); var selectGoods = hPanel.Add(new ChoiceBox(B3ButcheryDataSource.存货带编号) { Width = Unit.Pixel(130), EnableMultiSelection = true, EnableInputArgument = true, AutoPostBack = true }); selectGoods.SelectedValueChanged += delegate { detailGrid.GetFromUI(); if (!selectGoods.IsEmpty) { foreach (var item in selectGoods.GetValues()) { var d = new ProductInStore_Temp_Detail() { Goods_ID = long.Parse(item) }; DmoUtil.RefreshDependency(d, "Goods_ID"); Dmo.Details.Add(d); } } selectGoods.Clear(); detailGrid.DataBind(); }; var addGoodsbt = hPanel.Add(new DialogButton { Text = "选择存货", }); addGoodsbt.Url = "/B3Butchery/Dialogs/SelectGoodsDialog.aspx"; addGoodsbt.Click += delegate { detailGrid.GetFromUI(); var details = DialogUtil.GetCachedObj <TemGoodsDetail>(this); foreach (var temGoodsDetail in details) { var detail = new ProductInStore_Temp_Detail(); detail.Goods_ID = temGoodsDetail.Goods_ID; DmoUtil.RefreshDependency(detail, "Goods_ID"); Dmo.Details.Add(detail); } detailGrid.DataBind(); }; } var detailGridEditor = new DFCollectionEditor <ProductInStore_Temp_Detail>(() => Dmo.Details); detailGridEditor.AllowDeletionFunc = () => CanSave; detailGridEditor.CanDeleteFunc = (detail) => CanSave; detailGridEditor.IsEditableFunc = (field, detail) => CanSave; detailGrid = titlePanel.EAdd(new DFEditGrid(detailGridEditor) { Width = Unit.Percentage(100) }); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); foreach (var ioc in TypeIOCCenter.GetIOCList <IOCs.BeforeDetailGridApplyLayout>(this.GetType())) { //耘肯添加数据 ioc.Invoke(detailGrid); } new MainToSecondConvertRowManger(detailGrid); var section = mPageLayoutManager.AddSection("DetailColumns", "明细列"); section.ApplyLayout(detailGrid, mPageLayoutManager, DFInfo.Get(typeof(ProductInStore_Temp_Detail))); titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name); var hPanel2 = new HLayoutPanel() { Align = HorizontalAlign.Left }; titlePanel.Controls.Add(detailGrid); }
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(Dmo); 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 ProduceOutput_Detail() { Goods_ID = empID }; DmoUtil.RefreshDependency(d, "Goods_ID"); Dmo.Details.Add(d); } } selectEmp.Clear(); outputDetailGrid.DataBind(); }; } var detailEditor = new DFCollectionEditor <ProduceOutput_Detail>(() => Dmo.Details); detailEditor.AllowDeletionFunc = () => CanSave; detailEditor.CanDeleteFunc = (detail) => CanSave; detailEditor.IsEditableFunc = (field, detail) => CanSave; outputDetailGrid = vPanel.Add(new DFEditGrid(detailEditor) { Width = Unit.Percentage(100) }); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); foreach (var ioc in TypeIOCCenter.GetIOCList <IOCs.BeforeDetailGridApplyLayout>(this.GetType())) { //仙坛添加数据 ioc.Invoke(outputDetailGrid); } outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Number")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("SecondNumber2")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit2")); outputDetailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark")); outputDetailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); outputDetailGrid.ValueColumns.Add("Goods_MainUnitRatio"); outputDetailGrid.ValueColumns.Add("Goods_SecondUnitRatio"); new Main_Second_ConvertRatioRowManager(outputDetailGrid, "Number", "SecondNumber", "SecondNumber2"); }
private void AddDetails(TitlePanel titlePanel) { var vPanel = titlePanel.EAdd(new VLayoutPanel()); var toobar = new HLayoutPanel(); vPanel.Add(toobar, new VLayoutOption(HorizontalAlign.Left)); if (CanSave) { AddToolsPanel(toobar); } AddCopyAndPaste(toobar); var editor = AddGridByOrderByID(); editor.AllowDeletionFunc = () => CanSave; editor.CanDeleteFunc = detail => true; editor.IsEditableFunc = (field, detail) => CanSave; _detailGrid = new DFEditGrid(editor); _detailGrid.DFGridSetEnabled = false; _detailGrid.Width = Unit.Percentage(100); mDFContainer.AddNonDFControl(_detailGrid, "$detailGrid"); _detailGrid.NextRowOnEnter = true; _detailGrid.LastRowOnDown = "__DFContainer.getControl('$SelectGoods').behind.focus();"; _detailGrid.ShowLineNo = true; _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); AddGridColumnsByBrandItem_ID(_detailGrid); foreach (var ioc in TypeIOCCenter.GetIOCList <ProductNoticeEdit.BeforeDetailGridApplyLayout>(GetType())) { ioc.Invoke(_detailGrid); } _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); _detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Number")).SumMode = SumMode.Sum; _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); _detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber")).SumMode = SumMode.Sum; _detailGrid.Columns.EAdd(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); _detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("ProduceRequest")).InitEditControl += (sender, e) => { e.Control.Width = 150; }; _detailGrid.Columns.EAdd(new DFEditGridColumn <DFDateInput>("ProduceDate")); _detailGrid.Columns.EAdd(new DFEditGridColumn <DFDateInput>("DeliveryDate")); _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("DmoTypeID")); _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("DmoID")); _detailGrid.Columns.Add(new DFEditGridColumn("Remark")); if (GlobalFlags.get(B3ButcheryFlags.IsYongDa)) { var cargoSpaceColumn = _detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("SaleZone_ID")); cargoSpaceColumn.InitEditControl += (sender, e) => { e.Control.EnableTopItem = true; e.Control.EnableInputArgument = true; e.Control.DataKind = B3ButcheryDataSource.销售地区全部; e.Control.DFDisplayField = "SaleZone_Name"; e.Control.Width = Unit.Pixel(160); }; } AddProductNoticeDetailGrid(_detailGrid); _detailGrid.ValueColumns.Add("Goods_ID"); _detailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); _detailGrid.ValueColumns.Add("Goods_MainUnitRatio"); _detailGrid.ValueColumns.Add("Goods_SecondUnitRatio"); var section = mPageLayoutManager.AddSection("DetaiColumns", "明细列"); titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name); section.SetRequired("Number"); section.ApplyLayout(_detailGrid, mPageLayoutManager, DFInfo.Get(typeof(ProductNotice_Detail))); vPanel.Add(_detailGrid); var scriptManager = new GoodsEditGridScriptManager(_detailGrid, "Number"); titlePanel.Controls.Add(scriptManager); }