Beispiel #1
0
        private void CreateColumns(SourceGrid.DataGridColumns columns,
                                   DevAge.ComponentModel.IBoundList bindList)
        {
            SourceGrid.Cells.Editors.TextBoxNumeric numericEditor = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(decimal));
            numericEditor.TypeConverter = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(decimal), "N");
            numericEditor.AllowNull     = true;

            //Borders
            DevAge.Drawing.RectangleBorder border = new DevAge.Drawing.RectangleBorder(new DevAge.Drawing.BorderLine(Color.ForestGreen), new DevAge.Drawing.BorderLine(Color.ForestGreen));

            //Standard Views
            SourceGrid.Cells.Views.Link viewLink = new SourceGrid.Cells.Views.Link();
            viewLink.BackColor      = Color.DarkSeaGreen;
            viewLink.Border         = border;
            viewLink.ImageAlignment = DevAge.Drawing.ContentAlignment.MiddleCenter;
            viewLink.TextAlignment  = DevAge.Drawing.ContentAlignment.MiddleCenter;
            SourceGrid.Cells.Views.Cell viewString = new SourceGrid.Cells.Views.Cell();
            viewString.BackColor     = Color.DarkSeaGreen;
            viewString.Border        = border;
            viewString.TextAlignment = DevAge.Drawing.ContentAlignment.MiddleLeft;
            SourceGrid.Cells.Views.Cell viewNumeric = new SourceGrid.Cells.Views.Cell();
            viewNumeric.BackColor     = Color.DarkSeaGreen;
            viewNumeric.Border        = border;
            viewNumeric.TextAlignment = DevAge.Drawing.ContentAlignment.MiddleRight;
            SourceGrid.Cells.Views.Cell viewImage = new SourceGrid.Cells.Views.Cell();
            viewImage.BackColor      = Color.DarkSeaGreen;
            viewImage.Border         = border;
            viewImage.ImageStretch   = false;
            viewImage.ImageAlignment = DevAge.Drawing.ContentAlignment.MiddleCenter;

            //Create columns
            SourceGrid.DataGridColumn gridColumn;

            gridColumn = dataGrid.Columns.Add(null, "", new SourceGrid.Cells.Link());
            gridColumn.DataCell.AddController(new LinkClickDelete());
            gridColumn.DataCell.View = viewLink;
            ((SourceGrid.Cells.Link)gridColumn.DataCell).Image = Properties.Resources.trash.ToBitmap();

            gridColumn = dataGrid.Columns.Add("Flag", "Flag", new SourceGrid.Cells.DataGrid.Image());
            gridColumn.DataCell.View = viewImage;

            gridColumn = dataGrid.Columns.Add("Country", "Country", typeof(string));
            gridColumn.DataCell.View = viewString;

            gridColumn = dataGrid.Columns.Add("Uniform", "Uniform", new SourceGrid.Cells.DataGrid.Image());
            gridColumn.DataCell.View = viewImage;

            gridColumn = dataGrid.Columns.Add("Capital", "Capital", typeof(string));
            gridColumn.DataCell.View = viewString;

            gridColumn = dataGrid.Columns.Add("Population", "Population", typeof(decimal));
            gridColumn.DataCell.Editor = numericEditor;
            gridColumn.DataCell.View   = viewNumeric;

            gridColumn = dataGrid.Columns.Add("Surface", "Surface", typeof(decimal));
            gridColumn.DataCell.Editor = numericEditor;
            gridColumn.DataCell.View   = viewNumeric;

            gridColumn = dataGrid.Columns.Add("Languages", "Languages", typeof(string));
            gridColumn.DataCell.View = viewString;

            gridColumn = dataGrid.Columns.Add("Currency", "Currency", typeof(string));
            gridColumn.DataCell.View = viewString;

            gridColumn = dataGrid.Columns.Add("Major Cities", "Major Cities", typeof(string));
            gridColumn.DataCell.View = viewString;

            gridColumn = dataGrid.Columns.Add("National Holiday", "National Holiday", typeof(string));
            gridColumn.DataCell.View = viewString;

            gridColumn = dataGrid.Columns.Add("Lowest point", "Lowest point", typeof(string));
            gridColumn.DataCell.View = viewString;

            gridColumn = dataGrid.Columns.Add("Highest point", "Highest point", typeof(string));
            gridColumn.DataCell.View = viewString;

            //Create a conditional view
            foreach (SourceGrid.DataGridColumn col in columns)
            {
                SourceGrid.Conditions.ICondition condition =
                    SourceGrid.Conditions.ConditionBuilder.AlternateView(col.DataCell.View,
                                                                         Color.LightGray, Color.Black);
                col.Conditions.Add(condition);
            }
        }
Beispiel #2
0
        private void CreateColumns(DevAge.ComponentModel.IBoundList boundList)
        {
            //Create the editors
            SourceGrid.Cells.Editors.TextBoxNumeric numericEditor = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(decimal));
            numericEditor.TypeConverter = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(decimal), "N");
            numericEditor.AllowNull     = true;          //the database value can be null (System.DbNull)

            SourceGrid.Cells.Editors.ComboBox externalIdEditor = new SourceGrid.Cells.Editors.ComboBox(typeof(int));
            externalIdEditor.StandardValues            = new int[] { 1, 2, 3, 4 };
            externalIdEditor.StandardValuesExclusive   = true;
            externalIdEditor.Control.FormattingEnabled = true;

            DevAge.ComponentModel.Validator.ValueMapping mapping = new DevAge.ComponentModel.Validator.ValueMapping();
            mapping.ValueList         = new int[] { 1, 2, 3, 4 };
            mapping.DisplayStringList = new string[] { "Reference 1", "Reference 2", "Reference 3", "Reference 4" };
            mapping.BindValidator(externalIdEditor);


            //Create the views
            SourceGrid.Cells.Views.Cell viewSelected = new SourceGrid.Cells.Views.Cell();
            viewSelected.Font      = new Font(dataGrid.Font, FontStyle.Bold);
            viewSelected.ForeColor = Color.DarkGreen;

            //Create selected conditions
            SourceGrid.Conditions.ConditionView selectedConditionBold = new SourceGrid.Conditions.ConditionView(viewSelected);
            selectedConditionBold.EvaluateFunction = delegate(SourceGrid.DataGridColumn column, int gridRow, object itemRow)
            {
                DataRowView row = (DataRowView)itemRow;
                return(row["Selected"] is bool && (bool)row["Selected"] == true);
            };
            SourceGrid.Conditions.ConditionCell selectedConditionStar = new SourceGrid.Conditions.ConditionCell(new SourceGrid.Cells.Virtual.CellVirtual());
            selectedConditionStar.Cell.Model.AddModel(new SourceGrid.Cells.Models.Image(Properties.Resources.Star.ToBitmap()));
            selectedConditionStar.EvaluateFunction = delegate(SourceGrid.DataGridColumn column, int gridRow, object itemRow)
            {
                DataRowView row = (DataRowView)itemRow;
                return(row["Selected"] is bool && (bool)row["Selected"] == true);
            };

            //Create columns
            SourceGrid.DataGridColumn gridColumn;

            gridColumn = dataGrid.Columns.Add("Selected", "Selected", typeof(bool));

            gridColumn = dataGrid.Columns.Add("Country", "Country", typeof(string));
            gridColumn.DataCell.Model.AddModel(new BoundImage("Uniform"));
            gridColumn.Conditions.Add(selectedConditionBold);

            gridColumn = dataGrid.Columns.Add("Uniform", "Uniform", new SourceGrid.Cells.DataGrid.Image());
            gridColumn.Conditions.Add(selectedConditionBold);

            gridColumn = dataGrid.Columns.Add("Population", "Population", numericEditor);
            gridColumn.Conditions.Add(selectedConditionBold);

            gridColumn = dataGrid.Columns.Add("Surface", "Surface", numericEditor);
            gridColumn.Conditions.Add(selectedConditionBold);

            gridColumn = dataGrid.Columns.Add("ExternalID", "ExternalID", externalIdEditor);
            gridColumn.Conditions.Add(selectedConditionBold);

            gridColumn = dataGrid.Columns.Add("Star", "Star", new SourceGrid.Cells.Virtual.CellVirtual());
            gridColumn.DataCell.Model.AddModel(new SourceGrid.Cells.Models.Image(Properties.Resources.StarOff));
            gridColumn.Conditions.Add(selectedConditionStar);

            foreach (SourceGrid.DataGridColumn col in dataGrid.Columns)
            {
                col.DataCell.AddController(SourceGrid.Cells.Controllers.ToolTipText.Default);
                col.DataCell.Model.AddModel(MyToolTipModel.Default);
            }
        }