protected virtual void AddDetailColumn(DFEditGrid grid) { grid.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); grid.Add(new DFEditGridColumn <DFTextBox>("Number")); grid.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); grid.Add(new DFEditGridColumn <DFTextBox>("SecondNumber")); grid.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); 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"); }
private void CreateOutputDetailPanel(TitlePanel tPanel) { var hPanel = new HLayoutPanel(); if (CanSave) { tPanel.Controls.Add(hPanel); hPanel.Add(new SimpleLabel("选择存货")); var selectEmp = hPanel.Add(new ChoiceBox(B3UnitedInfosConsts.DataSources.存货) { Width = Unit.Pixel(130), EnableInputArgument = true, AutoPostBack = true }); mDFContainer.AddNonDFControl(selectEmp, "$SelectGoods"); selectEmp.SelectedValueChanged += delegate { _detailGrid.GetFromUI(); if (!selectEmp.IsEmpty) { var empID = long.Parse(selectEmp.Value); if (!Dmo.Details.Any(x => x.Goods_ID == empID)) { var d = new ProduceFinish_Detail() { Goods_ID = empID }; var last = Dmo.Details.LastOrDefault(); if (last != null) { d.BrandItem_ID = last.BrandItem_ID; d.BrandItem_Name = last.BrandItem_Name; } DmoUtil.RefreshDependency(d, "Goods_ID"); Dmo.Details.Add(d); } } selectEmp.Clear(); _detailGrid.DataBind(); var script = B3ButcheryWebUtil.SetCursorPositionScript(butcheryConfig.ProduceFinishCursorField, "$DetailGrid", Dmo.Details.Count, _detailGrid.PageSize); if (!string.IsNullOrEmpty(script)) { Page.ClientScript.RegisterStartupScript(GetType(), "Startup", script, true); } }; 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 ProduceFinish_Detail { Goods_ID = temGoodsDetail.Goods_ID }; DmoUtil.RefreshDependency(detail, "Goods_ID"); Dmo.Details.Add(detail); } _detailGrid.DataBind(); }; var addbt = hPanel.Add(new DialogButton { Text = "选择生产通知单", }); addbt.Url = "/B3Butchery/Dialogs/SelectProductNoticeDialog.aspx"; addbt.Click += delegate { _detailGrid.GetFromUI(); var details = DialogUtil.GetCachedObj <ProduceFinish_Detail>(this); foreach (var temGoodsDetail in details) { DmoUtil.RefreshDependency(temGoodsDetail, "Goods_ID"); Dmo.Details.Add(temGoodsDetail); } _detailGrid.DataBind(); }; AddCustomerToolBar(hPanel); } var detailEditor = new DFCollectionEditor <ProduceFinish_Detail>(() => Dmo.Details) { AllowDeletionFunc = () => CanSave, CanDeleteFunc = detail => CanSave, IsEditableFunc = (field, detail) => CanSave }; _detailGrid = new DFEditGrid(detailEditor) { Width = Unit.Percentage(100) }; mDFContainer.AddNonDFControl(_detailGrid, "$DetailGrid"); _detailGrid.NextRowOnEnter = true; _detailGrid.LastRowOnDown = "__DFContainer.getControl('$SelectGoods').behind.focus();"; tPanel.Controls.Add(_detailGrid); if (_useBrand) { _detailGrid.Columns.Add(new DFEditGridColumn("BrandItem_ID")); } _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Name")); _detailGrid.Columns.Add(new DFEditGridColumn <DFValueLabel>("Goods_Code")); _detailGrid.Add(new DFEditGridColumn <DFValueLabel>("Goods_Spec")); _detailGrid.Add(new DFEditGridColumn <DFTextBox>("Number")); _detailGrid.Add(new DFEditGridColumn <DFValueLabel>("Goods_MainUnit")); _detailGrid.Add(new DFEditGridColumn <DFTextBox>("SecondNumber")); _detailGrid.Add(new DFEditGridColumn <DFValueLabel>("Goods_SecondUnit")); _detailGrid.Columns.Add(new DFEditGridColumn <DFTextBox>("Remark")); _detailGrid.ValueColumns.Add("Goods_UnitConvertDirection"); _detailGrid.ValueColumns.Add("Goods_MainUnitRatio"); _detailGrid.ValueColumns.Add("Goods_SecondUnitRatio"); new Main_Second_ConvertRatioRowManager(_detailGrid, "Number", "SecondNumber"); }