1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using Comal.Classes;
- using InABox.Core;
- using InABox.DynamicGrid;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Media;
- namespace PRSDesktop.Panels.StockForecast.OrderScreen;
- public class StockForecastOrderingJobItem : BaseObject
- {
- [EditorSequence(1)]
- public string Job { get; set; }
- [NullEditor]
- public Guid JobID { get; set; }
- [EditorSequence(2)]
- [DoubleEditor]
- public double RequiredQuantity { get; set; }
- [EditorSequence(2)]
- [DoubleEditor]
- public double Quantity { get; set; }
- }
- public class StockForecastOrderingJobGrid : DynamicItemsListGrid<StockForecastOrderingJobItem>
- {
- protected override void DoReconfigure(DynamicGridOptions options)
- {
- base.DoReconfigure(options);
- options.Clear();
- options.DirectEdit = true;
- }
- private class UIComponent : DynamicGridGridUIComponent<StockForecastOrderingJobItem>
- {
- public StockForecastOrderingJobGrid Grid { get; set; }
- public UIComponent(StockForecastOrderingJobGrid grid)
- {
- Grid = grid;
- Parent = grid;
- }
- protected override Brush? GetCellBackground(CoreRow row, DynamicColumnBase column)
- {
- return base.GetCellBackground(row, column);
- }
- }
- protected override IDynamicGridUIComponent<StockForecastOrderingJobItem> CreateUIComponent()
- {
- return new UIComponent(this);
- }
- protected override DynamicGridColumns LoadColumns()
- {
- var columns = new DynamicGridColumns();
- columns.Add<StockForecastOrderingJobItem, string>(x => x.Job, 0, "Job", "", Alignment.MiddleLeft);
- columns.Add<StockForecastOrderingJobItem, double>(x => x.RequiredQuantity, 70, "Req. Qty.", "F2", Alignment.MiddleCenter);
- columns.Add<StockForecastOrderingJobItem, double>(x => x.Quantity, 70, "Qty.", "F2", Alignment.MiddleCenter);
- return columns;
- }
- protected override void CustomiseEditor(StockForecastOrderingJobItem[] items, DynamicGridColumn column, BaseEditor editor)
- {
- base.CustomiseEditor(items, column, editor);
- if(new Column<StockForecastOrderingJobItem>(x => x.Quantity).IsEqualTo(column.ColumnName))
- {
- column.Editor.Editable = Editable.Enabled;
- }
- else
- {
- column.Editor.Editable = Editable.Disabled;
- }
- }
- }
|