public Main_Second_ConvertRatioRowManager(DFEditGrid grid, string mNumberfield, string sNumberfield, string sNumber2field) { numberField = mNumberfield; secondNumberField = sNumberfield; secondNumber2Field = sNumber2field; foreach (DFGridColumn column in grid.Columns) { if (column is DFEditGridColumn <DFTextBox> ) { var c = (DFEditGridColumn <DFTextBox>)column; if (c.Name == mNumberfield) { numberInput = c; } else if (c.Name == sNumberfield) { secondNumberInput = c; } else if (c.Name == sNumber2field) { secondNumber2Input = c; } } SetClientScript1(); } }
private void AddQueryResult(VLayoutPanel vPanel) { vPanel.Add(new LiteralControl("<BR/>")); grid = vPanel.Add(new DFBrowseGrid(new DFDataTableEditor()) { Width = Unit.Percentage(100) }); grid.Columns.Add(new DFBrowseGridColumn("Name")); grid.Columns.Add(new DFBrowseGridColumn("Code")); grid.Columns.Add(new DFBrowseGridColumn("Spec")); var goods2Name = new DFEditGridColumn <DFChoiceBox>("Goods2_ID"); goods2Name.InitEditControl += delegate(object sender, InitEditControlEventArgs <DFChoiceBox> e) { e.Control.DataKind = B3ButcheryDataSource.存货带编号; e.Control.DFDisplayField = "Goods2_Name"; e.Control.EnableInputArgument = true; e.Control.EnableTopItem = true; e.Control.Width = Unit.Pixel(120); }; grid.Columns.EAdd(goods2Name).HeaderText = "半成品名称"; grid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods2_Code")); grid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods2_Spec")); grid.Columns.Add(new DFEditGridColumn("Remark")); vPanel.Add(new TSButton("保存", SaveBtnClick)); }
public NumberSecondNumberConvertRowMangerWithMoneyChanged(DFGridBase grid, string mainfield, string secondfield, string moneyfield, bool isLockPrice = false) { _isLockPrice = isLockPrice; _mainNumberField = mainfield; _secondNumberField = secondfield; _moneyField = moneyfield; _hasMoney = _hasPrice = false; foreach (DFGridColumn column in grid.Columns) { if (column is DFEditGridColumn <DFTextBox> ) { var c = (DFEditGridColumn <DFTextBox>)column; if (c.Name == mainfield) { _mainNumberInput = c; } else if (c.Name == secondfield) { _secondNumberInput = c; } else if (c.Name == "Price") { _priceInput = c; _hasPrice = true; } else if (c.Name == moneyfield) { _moneyInput = c; _hasMoney = true; } } else if (column is DFEditGridColumn) { var c1 = (DFEditGridColumn)column; if (c1.Name == _moneyField) { _hasMoney = true; } else if (c1.Name == "Price") { _hasPrice = true; } } } SetClientScript(); }
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), ProductionDate = DateTime.Today, Price = 0 }; 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"); detail.TaxRate = detail.Goods_TaxRate; detail.Number = temGoodsDetail.Number; detail.SecondNumber = temGoodsDetail.SecondNumber; Dmo.Details.Add(detail); } detailGrid.DataBind(); }; var updateButton = hPanel.Add(new TSButton("更新生产计划号", delegate { GetFromUI(); foreach (var item in Dmo.Details) { item.ProductPlan_ID = Dmo.ProductPlan_ID; item.ProductPlan_Name = Dmo.ProductPlan_Name; } 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("ProductionDate")); var productPlanCol = new DFEditGridColumn <DFChoiceBox>("ProductPlan_ID"); productPlanCol.InitEditControl += delegate(object sender, InitEditControlEventArgs <DFChoiceBox> e) { e.Control.DataKind = B3ButcheryDataSource.计划号; e.Control.DFDisplayField = "ProductPlan_Name"; e.Control.EnableInputArgument = true; e.Control.EnableTopItem = true; e.Control.Width = Unit.Pixel(120); }; detailGrid.Columns.Add(productPlanCol); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); var script = @" var id =parseInt(this.front.value); simpleRestCall('/MainSystem/B3Butchery/Rpcs/GoodsBatchRpc/Get', [id,['ProductionDate','QualityDays']], function(result,dfContainer){ dfContainer.setValue('ProductionDate',getDateTime(result.ProductionDate)); dfContainer.setValue('QualityDays',result.QualityDays ); },{context:this.dfContainer});"; detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("GoodsBatch_ID")).InitEditControl += (sender, e) => { e.Control.EnableTopItem = true; e.Control.OnBeforeDrop = "this.codeArgument = dfContainer.getValue('Goods_ID');this.dialogArguments='Goods_ID=' + this.codeArgument+'&TaxRate='+dfContainer.getValue('TaxRate')+'&TmpTaxRate='+dfContainer.getValue('TmpTaxRate')"; e.Control.DataKind = B3UnitedInfosConsts.DataSources.存货批次; e.Control.DFDisplayField = "GoodsBatch_Name"; e.Control.DialogUrl = WpfPageUrl.ToGlobal("~/B3Butchery/Dialogs/GoodsBatchEdit.aspx?IsNewDialog=1"); e.Control.OnClientSelected = script; e.Control.Width = Unit.Pixel(160); }; 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.Add(new DFEditGridColumn <DFTextBox>("Price")); detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Money")).SumMode = SumMode.Sum;; detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark")); detailGrid.ValueColumns.Add("Goods_ID"); detailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); detailGrid.ValueColumns.Add("Goods_MainUnitRatio"); detailGrid.ValueColumns.Add("Goods_SecondUnitRatio"); 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 AddDetails(TitlePanel titlePanel) { var vPanel = titlePanel.EAdd(new VLayoutPanel()); if (CanSave) { var hPanel = vPanel.Add(new HLayoutPanel(), new VLayoutOption(HorizontalAlign.Left)); 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 FrozenOutStore_Detail { Goods_ID = long.Parse(item) }; var goods = WebBLUtil.GetSingleDmo <Goods>("ID", long.Parse(item)); d.Goods_MainUnit = goods.MainUnit; d.Goods_Name = goods.Name; d.Goods_Code = goods.Code; d.Goods_UnitConvertDirection = goods.UnitConvertDirection; 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 FrozenOutStore_Detail { Goods_ID = temGoodsDetail.Goods_ID }; //DmoUtil.RefreshDependency(detail, "Goods_ID"); var goods = WebBLUtil.GetSingleDmo <Goods>("ID", temGoodsDetail.Goods_ID); detail.Goods_MainUnit = goods.MainUnit; detail.Goods_Name = goods.Name; detail.Goods_Code = goods.Code; detail.Goods_UnitConvertDirection = goods.UnitConvertDirection; Dmo.Details.Add(detail); } _detailGrid.DataBind(); }; } var editor = new DFCollectionEditor <FrozenOutStore_Detail>(() => Dmo.Details) { AllowDeletionFunc = () => CanSave, CanDeleteFunc = detail => true, IsEditableFunc = (field, detail) => CanSave }; _detailGrid = new DFEditGrid(editor) { DFGridSetEnabled = false, Width = Unit.Percentage(100) }; var productPlanCol = new DFEditGridColumn <DFChoiceBox>("ProductPlan_ID"); productPlanCol.InitEditControl += delegate(object sender, InitEditControlEventArgs <DFChoiceBox> e) { e.Control.DataKind = B3ButcheryDataSource.计划号; e.Control.DFDisplayField = "ProductPlan_Name"; e.Control.EnableInputArgument = true; e.Control.EnableTopItem = true; e.Control.Width = Unit.Pixel(120); }; _detailGrid.Columns.EAdd(new DFEditGridColumn <DFValueLabel>("Goods_Name")).HeaderText = "半成品名称"; _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); _detailGrid.Columns.EAdd(new DFEditGridColumn <DFValueLabel>("Goods2_Name")).HeaderText = "成品名称"; _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Number")); _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); _detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber")); _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); _detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber2")); _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit2")); _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark")); new Main_Second2_ConvertRatioRowManager(_detailGrid, "Number", "SecondNumber2"); mDFContainer.AddNonDFControl(_detailGrid, "$DetailGrid"); var section = mPageLayoutManager.AddSection("DetaiColumns", "明细列"); titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name); section.ApplyLayout(_detailGrid, mPageLayoutManager, DFInfo.Get(typeof(FrozenOutStore_Detail))); vPanel.Add(_detailGrid); }
private void CreateDetailPanel(TitlePanel titlePanel) { var hPanel = titlePanel.EAdd(new HLayoutPanel()); hPanel.Add(new LiteralControl("<h2>入库清单:</h2>")); AddToolsBar(hPanel); hPanel.Add(new TSButton("复制", delegate { GoodsDetailSummaryClipboardUtil.Copy(Dmo.Details.Select((item) => (GoodsDetailSummaryBase)item).ToList()); AspUtil.Alert(this, "复制成功"); })); if (CanSave) { hPanel.Add(new TSButton("粘贴", delegate { var list = GoodsDetailSummaryClipboardUtil.Paste <ProductInStore_Detail>(); foreach (var detail in list) { Dmo.Details.Add(detail); DmoUtil.RefreshDependency(detail, "Goods_ID"); } detailGrid.DataBind(); })); } if (CanSave) { if (EnableAddSameCargoSpace) { AddSameCargoSpace(hPanel); } } var detailGridEditor = new DFCollectionEditor <ProductInStore_Detail>(() => Dmo.Details); detailGridEditor.AllowDeletionFunc = () => CanSave; detailGridEditor.CanDeleteFunc = (detail) => CanSave; detailGridEditor.IsEditableFunc = (field, detail) => { switch (field.Name) { case "GoodsBatch_ID": return(GoodsUtil.EnableBatch(detail.Goods_ID, detail.GoodsProperty_ID) && CanSave); case "Money": return(false); case "SecondNumber": var hasSecondUnit = !string.IsNullOrEmpty(detail.Goods_SecondUnit); return(CanSave && hasSecondUnit); } return(CanSave); }; detailGrid = titlePanel.EAdd(new DFEditGrid(detailGridEditor) { Width = Unit.Percentage(100), ShowLineNo = true }); mDFContainer.AddNonDFControl(detailGrid, "$DetailGrid"); detailGrid.NextRowOnEnter = true; detailGrid.LastRowOnDown = "__DFContainer.getControl('$SelectGoods').behind.focus();"; if (GlobalFlags.get(B3UnitedInfosConsts.GlobalFlags.库存支持品牌项)) { detailGrid.Columns.Add(new DFEditGridColumn("BrandItem_ID")); } detailGrid.Columns.Add(new DFEditGridColumn("ProductionDate")); var productPlanCol = new DFEditGridColumn <DFChoiceBox>("ProductPlan_ID"); productPlanCol.InitEditControl += delegate(object sender, InitEditControlEventArgs <DFChoiceBox> e) { e.Control.DataKind = B3ButcheryDataSource.计划号; e.Control.DFDisplayField = "ProductPlan_Name"; e.Control.EnableInputArgument = true; e.Control.EnableTopItem = true; e.Control.Width = Unit.Pixel(120); }; detailGrid.Columns.Add(productPlanCol); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); var script = @" var id =parseInt(this.front.value); simpleRestCall('/MainSystem/B3Butchery/Rpcs/GoodsBatchRpc/Get', [id,['ProductionDate']], function(result,dfContainer){ dfContainer.setValue('ProductionDate',getDateTime(result.ProductionDate)); },{context:this.dfContainer});"; detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("GoodsBatch_ID")).InitEditControl += (sender, e) => { e.Control.EnableTopItem = true; e.Control.OnBeforeDrop = "this.codeArgument = dfContainer.getValue('Goods_ID');this.dialogArguments='Goods_ID=' + this.codeArgument+'&TaxRate='+dfContainer.getValue('TaxRate')+'&TmpTaxRate='+dfContainer.getValue('TmpTaxRate')"; e.Control.DataKind = B3UnitedInfosConsts.DataSources.存货批次; e.Control.DFDisplayField = "GoodsBatch_Name"; e.Control.DialogUrl = WpfPageUrl.ToGlobal("~/B3Butchery/Dialogs/GoodsBatchEdit.aspx?IsNewDialog=1"); e.Control.OnClientSelected = script; e.Control.Width = Unit.Pixel(160); }; detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); var cargoSpaceColumn = detailGrid.Columns.EAdd(new DFEditGridColumn <DFChoiceBox>("CargoSpace_ID")); cargoSpaceColumn.InitEditControl += (sender, e) => { e.Control.EnableTopItem = true; e.Control.OnBeforeDrop = "this.codeArgument = __DFContainer.getValue('Store_ID');"; e.Control.DataKind = B3FrameworksConsts.DataSources.货位; e.Control.DFDisplayField = "CargoSpace_Name"; e.Control.Width = Unit.Pixel(160); }; detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Number")).SumMode = SumMode.Sum; detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("SecondNumber")).SumMode = SumMode.Sum; if (CheckDefaultRole("隐藏单价")) { detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Price")); } AddColumn(detailGrid); if (CheckDefaultRole("隐藏单价")) { detailGrid.Columns.EAdd(new DFEditGridColumn <DFTextBox>("Money")).SumMode = SumMode.Sum; } detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark")); detailGrid.ValueColumns.Add("Goods_ID"); detailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); detailGrid.ValueColumns.Add("Goods_MainUnitRatio"); detailGrid.ValueColumns.Add("Goods_SecondUnitRatio"); new MainToSecondConvertRowManger(detailGrid); var section = mPageLayoutManager.AddSection("DetailColumns", "明细列"); section.ApplyLayout(detailGrid, mPageLayoutManager, DFInfo.Get(typeof(ProductInStore_Detail))); titlePanel.SetPageLayoutSetting(mPageLayoutManager, section.Name); }