Пример #1
0
        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);
        }
Пример #2
0
        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");
        }
Пример #3
0
        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);
        }