Esempio n. 1
0
 private void SetupPaymentGrid(FastGrid.FastGrid grid)
 {
     var blank = new Transfer();
     // платежи
     grid.Columns.Add(new FastColumn(blank.Property(p => p.Id), "#") { SortOrder = FastColumnSort.Ascending, ColumnWidth = 60 });
     grid.Columns.Add(new FastColumn(blank.Property(p => p.ValueDate), Localizer.GetString("TitleTime"))
     {
         ColumnMinWidth = 75,
         rowFormatter = valueObject =>
         {
             var transfer = (Transfer)valueObject;
             return transfer.Id == 0 ? "" : transfer.ValueDate.ToStringUniform();
         }
     });
     grid.Columns.Add(new FastColumn(blank.Property(p => p.TargetAmount), Localizer.GetString("TitleSum"))
     {
         ColumnMinWidth = 75,
         rowFormatter = valueObject =>
         {
             var transfer = (Transfer) valueObject;
             return transfer.Id == 0 ? "" :
                 transfer.TargetAmount.ToStringUniformMoneyFormat() + " " + walletCurrency;
         }
     });
     grid.Columns.Add(new FastColumn(blank.Property(p => p.Comment), Localizer.GetString("TitleComment"))
     {
         ColumnMinWidth = 75,
         rowFormatter = valueObject =>
         {
             var transfer = (Transfer) valueObject;
             if (transfer.Subscription.HasValue)
             {
                 return Localizer.GetString("TitleServiceSubscription");
             }
             if (transfer.RefWallet.HasValue)
             {
                 return Localizer.GetString("TitleWalletPayment") + " #" + transfer.RefWallet.Value;
             }
             if (transfer.BalanceChange.HasValue)
             {
                 return Localizer.GetString("TitleTransferToTradeAccount");
             }
             return transfer.Comment;
         },
         IsHyperlinkStyleColumn = true,
         HyperlinkActiveCursor = Cursors.Hand,
         ColorHyperlinkTextActive = Color.Blue,
         HyperlinkFontActive = new Font(Font, FontStyle.Bold)
     });
     grid.colorFormatter = (object value, out Color? color, out Color? fontColor) =>
     {
         color = null;
         fontColor = null;
         var trans = value as Transfer;
         if (trans == null)
             return;
         if (trans.Id == 0)
             color = Color.Lime;
     };
     grid.UserHitCell += GridPaymentOnUserHitCell;
     grid.CalcSetTableMinWidth();
 }
Esempio n. 2
0
        private void SetupPaymentGrid(FastGrid.FastGrid grid)
        {
            var blank = new Transfer();

            // платежи
            grid.Columns.Add(new FastColumn(blank.Property(p => p.Id), "#")
            {
                SortOrder = FastColumnSort.Ascending, ColumnWidth = 60
            });
            grid.Columns.Add(new FastColumn(blank.Property(p => p.ValueDate), Localizer.GetString("TitleTime"))
            {
                ColumnMinWidth = 75,
                rowFormatter   = valueObject =>
                {
                    var transfer = (Transfer)valueObject;
                    return(transfer.Id == 0 ? "" : transfer.ValueDate.ToStringUniform());
                }
            });
            grid.Columns.Add(new FastColumn(blank.Property(p => p.TargetAmount), Localizer.GetString("TitleSum"))
            {
                ColumnMinWidth = 75,
                rowFormatter   = valueObject =>
                {
                    var transfer = (Transfer)valueObject;
                    return(transfer.Id == 0 ? "" :
                           transfer.TargetAmount.ToStringUniformMoneyFormat() + " " + walletCurrency);
                }
            });
            grid.Columns.Add(new FastColumn(blank.Property(p => p.Comment), Localizer.GetString("TitleComment"))
            {
                ColumnMinWidth = 75,
                rowFormatter   = valueObject =>
                {
                    var transfer = (Transfer)valueObject;
                    if (transfer.Subscription.HasValue)
                    {
                        return(Localizer.GetString("TitleServiceSubscription"));
                    }
                    if (transfer.RefWallet.HasValue)
                    {
                        return(Localizer.GetString("TitleWalletPayment") + " #" + transfer.RefWallet.Value);
                    }
                    if (transfer.BalanceChange.HasValue)
                    {
                        return(Localizer.GetString("TitleTransferToTradeAccount"));
                    }
                    return(transfer.Comment);
                },
                IsHyperlinkStyleColumn   = true,
                HyperlinkActiveCursor    = Cursors.Hand,
                ColorHyperlinkTextActive = Color.Blue,
                HyperlinkFontActive      = new Font(Font, FontStyle.Bold)
            });
            grid.colorFormatter = (object value, out Color? color, out Color? fontColor) =>
            {
                color     = null;
                fontColor = null;
                var trans = value as Transfer;
                if (trans == null)
                {
                    return;
                }
                if (trans.Id == 0)
                {
                    color = Color.Lime;
                }
            };
            grid.UserHitCell += GridPaymentOnUserHitCell;
            grid.CalcSetTableMinWidth();
        }
        /// <summary>
        /// Предустановка столбцов таблицы по сделкам
        /// </summary>
        public static void SetupDealsGrid(FastGrid.FastGrid grid, bool isClosedDealsTable)
        {
            var blankMarketOrder = new MarketOrder();
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.ID), "#") {ColumnWidth = 50});
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.Symbol), Localizer.GetString("TitleInstrument")) {ColumnWidth = 70});
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.Side), Localizer.GetString("TitleType"))
                {
                    ColumnWidth = 60,
                    formatter = s => (int) s < 0 ? "SELL" : "BUY"
                });
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.Volume), Localizer.GetString("TitleVolume"))
                {
                    ColumnWidth = 82,
                    formatter = value => ((int) value).ToStringUniformMoneyFormat()
                });
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.PriceEnter), Localizer.GetString("TitleEnter"))
                {
                    ColumnWidth = 64,
                    formatter = p => ((float) p).ToStringUniformPriceFormat()
                });
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.TimeEnter), Localizer.GetString("TitleEnterTime"))
                {
                    ColumnWidth = 82
                });
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.PriceExit), Localizer.GetString("TitleExit"))
                {
                    ColumnWidth = 64,
                    formatter = p => p == null ? "" : ((float) p).ToStringUniformPriceFormat()
                });
            grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.ResultBase), Localizer.GetString("TitleResultInUSDShort"))
                {
                    ColumnWidth = 82,
                    formatter = p => p == null ? "" : ((float) p).ToStringUniformPriceFormat()
                });
            if (isClosedDealsTable)
            {
                grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.TimeExit), Localizer.GetString("TitleExitTime"))
                    {
                        ColumnMinWidth = 160
                    });
                grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.ResultDepo), Localizer.GetString("TitleResult"))
                    {
                        ColumnMinWidth = 65,
                        formatter = value => ((float) value).ToStringUniformMoneyFormat(),
                        colorColumnFormatter = (object value, out Color? color, out Color? fontColor) =>
                            {
                                color = null;
                                fontColor = null;
                                if (value == null) return;
                                var rst = (float) value;
                                fontColor = rst < -0.9f ? Color.Red : rst < 1 ? Color.Black : Color.Blue;
                            }
                    });
            }
            else
            {
                grid.Columns.Add(new FastColumn(blankMarketOrder.Property(p => p.ResultPoints), Localizer.GetString("TitlePoints"))
                    {
                        ColumnMinWidth = 65,
                        formatter = value => ((float) value).ToStringUniformMoneyFormat(true),
                        colorColumnFormatter = (object value, out Color? color, out Color? fontColor) =>
                            {
                                color = null;
                                fontColor = null;
                                if (value == null) return;
                                var rst = (float) value;
                                fontColor = rst < -0.9f ? Color.Red : rst < 1 ? Color.Black : Color.Blue;
                            }
                    });
            }

            grid.FontAnchoredRow = new Font(grid.Font, FontStyle.Bold);
            grid.CheckSize(true);
            grid.CalcSetTableMinWidth();
            grid.ContextMenuRequested += OrdersFastGridContextMenuRequested;
        }