예제 #1
0
        private void RebindData()
        {
            filterObjects.Clear();
            const int importantFieldsCount = 6;

            for (var i = 0; i < PerformerStatField.fields.Count; i++)
            {
                var field = PerformerStatField.fields[i];
                if (string.IsNullOrEmpty(field.ExpressionParamTitle))
                {
                    continue;
                }
                var filterObject = new FilterObject(field)
                {
                    Group = i < importantFieldsCount?Localizer.GetString("TitlePrimaries") : Localizer.GetString("TitleAdditionals")
                };
                filterObjects.Add(filterObject);
            }
            fastGrid.DataBind(filterObjects);
        }
예제 #2
0
        public TopFilterControl()
        {
            InitializeComponent();

            // 4 refresh button
            refreshButtonColors = new[]
            {
                refreshButton.BackColor,
                HslColor.AdjuctBrightness(refreshButton.BackColor, 0.9f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 0.85f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 0.8f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 0.85f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 0.9f),
                refreshButton.BackColor,
                HslColor.AdjuctBrightness(refreshButton.BackColor, 1.1f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 1.15f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 1.2f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 1.15f),
                HslColor.AdjuctBrightness(refreshButton.BackColor, 1.1f)
            };

            var blank = new FilterObject();

            fastGrid.Columns.Add(new FastColumn(blank.Property(p => p.Selected), "*")
            {
                ColumnWidth            = 30,
                ImageList              = gridImageList,
                IsHyperlinkStyleColumn = true,
                HyperlinkActiveCursor  = Cursors.Hand,
                SortOrder              = FastColumnSort.Descending
            });
            fastGrid.Columns.Add(new FastColumn(blank.Property(p => p.Group), Localizer.GetString("TitleGroup"))
            {
                ColumnWidth = 120,
                SortOrder   = FastColumnSort.Descending
            });
            fastGrid.Columns.Add(new FastColumn(blank.Property(p => p.Title), Localizer.GetString("TitleCriterion"))
            {
                //SortOrder = FastColumnSort.Ascending
            });
            fastGrid.Columns.Add(new FastColumn(blank.Property(p => p.Operator), " ")
            {
                ColumnWidth            = 30,
                IsHyperlinkStyleColumn = true,
                HyperlinkActiveCursor  = Cursors.Hand,
                formatter = v => ExpressionResolver.GetOperatorString((ExpressionOperator)v)
            });
            fastGrid.Columns.Add(new FastColumn(blank.Property(p => p.Value), Localizer.GetString("TitleValue"))
            {
                IsEditable = true
            });

            RebindData();

            fastGrid.FieldValueChanged += delegate
            {
                UpdateExpression();
            };

            collapseButton.Click += (sender, args) =>
            {
                if (CollapseButtonClicked != null)
                {
                    CollapseButtonClicked(this, new EventArgs());
                }
            };

            refreshButton.Click += (sender, args) =>
            {
                if (RefreshButtonClicked != null)
                {
                    RefreshButtonClicked(this, new EventArgs());
                }
            };

            createPortfolioButton.Click += (sender, args) =>
            {
                if (CreatePortfolioButtonClicked != null)
                {
                    CreatePortfolioButtonClicked(this, new EventArgs());
                }
            };

            // secret button
            showExpressionLabelButton.Click += (sender, args) => { expressionLabel.Visible = !expressionLabel.Visible; };
        }