Пример #1
0
        public void GridBindData(SourceGrid.Grid urlGrid)
        {
            urlGrid.Rows.Clear();
            urlGrid.Rows.Insert(0);

            urlGrid[0, 0] = new SourceGrid.Cells.ColumnHeader("URL");
            urlGrid[0, 1] = new SourceGrid.Cells.ColumnHeader("Sync\nPosition");
            urlGrid[0, 2] = new SourceGrid.Cells.ColumnHeader("Sync\nScreenshots");

            int r = 1;

            foreach (SyncURL syncURL in _settings.syncURLs)
            {
                urlGrid.Rows.Insert(r);
                urlGrid[r, 0]        = new SourceGrid.Cells.Cell(syncURL.URL, typeof(string));
                urlGrid[r, 0].Editor = null;
                urlGrid[r, 1]        = new SourceGrid.Cells.CheckBox(null, syncURL.syncPosition);
                urlGrid[r, 1].Editor = null;
                urlGrid[r, 2]        = new SourceGrid.Cells.CheckBox(null, syncURL.syncScreenshot);
                urlGrid[r, 2].Editor = null;
                urlGrid[r, 3]        = new SourceGrid.Cells.Button("Edit");
                urlGrid[r, 3].Editor = null;
                urlGrid[r, 3].AddController(gridEditEvent);
                urlGrid[r, 4]        = new SourceGrid.Cells.Button("Delete");
                urlGrid[r, 4].Editor = null;
                urlGrid[r, 4].AddController(gridDeleteEvent);

                urlGrid[r, 5] = new SourceGrid.Cells.Cell(syncURL.id, typeof(string));

                r++;
            }

            urlGrid.AutoSizeCells();
        }
        public override void OnValueChanged(SourceGrid.CellContext sender, EventArgs e)
        {
            base.OnValueChanged(sender, e);
            SuplementsGrid grid1 = (SuplementsGrid)sender.Grid;

            SuplementItemDTO entry = null;
            var row = grid1.Rows[sender.Position.Row];

            if (row == null)
            {
                return;
            }
            if (row.Tag == null)
            {
                entry   = new SuplementItemDTO();
                row.Tag = entry;
                suplementEntry.AddItem(entry);
                parent.AddEmptyRow();
                if (SuplementsSettings.Default.SetCurrentTime)
                {
                    entry.Time = DateTime.Now;
                    entry.Time = DateHelper.MoveToNewDate(entry.Time, suplementEntry.TrainingDay.TrainingDate);
                }
            }
            else
            {
                entry = (SuplementItemDTO)row.Tag;
            }

            entry.SuplementId = (Guid)sender.Value;
            //grid1[row.Index, SuplementsGrid.DosageTypeColumn].Value = DosageType.Grams;
            var selectedItem = from t in ((SourceGrid.Cells.Editors.ComboBox)grid1[row.Index, SuplementsGrid.DosageTypeColumn].Editor).Control.Items.Cast <ComboBoxItem>() where (DosageType)t.Tag == DosageType.Grams select t;

            grid1[row.Index, SuplementsGrid.DosageTypeColumn].Value = selectedItem.SingleOrDefault();

            grid1[row.Index, SuplementsGrid.SuplementTypeColumn].View.ForeColor = Color.Black;
            grid1[row.Index, SuplementsGrid.TimeColumn].Value   = entry.Time;
            grid1[row.Index, SuplementsGrid.DosageColumn].Value = entry.Dosage;
            parent.UpdateCellsReadOnlyMode(row);

            if (!parent.ReadOnly && !(grid1[row.Index, SuplementsGrid.DeleteButtonColumn] is SourceGrid.Cells.Button))
            {
                var bnCol1 = new SourceGrid.Cells.Button(null);
                bnCol1.Image       = SuplementsResources.Delete;
                bnCol1.ToolTipText = SuplementsEntryStrings.DeleteThisEntryTip;
                var ctrButton1 = new SourceGrid.Cells.Controllers.Button();
                ctrButton1.Executed += new EventHandler(deleteRowBtn_Execute);
                bnCol1.View          = new SourceGrid.Cells.Views.Button();
                bnCol1.AddController(ctrButton1);
                grid1[row.Index, SuplementsGrid.DeleteButtonColumn] = bnCol1;
            }
        }
        public override void OnValueChanged(SourceGrid.CellContext sender, EventArgs e)
        {
            base.OnValueChanged(sender, e);
            Grid grid1 = (Grid)sender.Grid;

            var row = grid1.Rows[sender.Position.Row];

            if (row == null)
            {
                return;
            }
            MapperEntry entry = null;

            if (row.Tag == null)
            {
                entry   = new MapperEntry();
                row.Tag = entry;
                parent.AddEmptyRow();
                parent.MapperData.Entries.Add(entry);
            }
            else
            {
                entry = (MapperEntry)row.Tag;
            }
            Guid newId = (Guid)sender.Value;

            if (sender.Position.Column == ExerciseMapperWindow.FromExerciseColumn)
            {
                entry.FromExerciseId = newId;
            }
            else
            {
                entry.ToExerciseId = newId;
            }


            parent.UpdateCellsReadOnlyMode(row);
            grid1[row.Index, sender.Position.Column].View.ForeColor = Color.Black;
            if (!(grid1[row.Index, ExerciseMapperWindow.DeleteColumn] is SourceGrid.Cells.Button))
            {
                var bnCol1 = new SourceGrid.Cells.Button(null);
                bnCol1.Image       = StrengthTrainingResources.Delete;
                bnCol1.ToolTipText = StrengthTrainingEntryStrings.DeleteThisEntryBtn;
                var ctrButton1 = new SourceGrid.Cells.Controllers.Button();
                ctrButton1.Executed += new EventHandler(ctrButton1_Executed);
                bnCol1.View          = new SourceGrid.Cells.Views.Button();
                bnCol1.AddController(ctrButton1);
                grid1[row.Index, usrStrengthTrainingSourceGridBase.DeleteRowColumnIndex] = bnCol1;
            }
        }
Пример #4
0
        private void FillGridPallets(WCFClient wcfClient)
        {
            // initialize grid
            List <string> captions = new List <string>
            {
                string.Format(Properties.Resources.ID_DIMENSIONS, UnitsManager.UnitString(UnitsManager.UnitType.UT_LENGTH)),
                string.Format(Properties.Resources.ID_WEIGHT_WU, UnitsManager.UnitString(UnitsManager.UnitType.UT_MASS))
            };

            GridInitialize(gridPallets, captions);
            // handling delete event
            SourceGrid.Cells.Controllers.CustomEvents buttonDelete = new SourceGrid.Cells.Controllers.CustomEvents();
            buttonDelete.Click += new EventHandler(OnDeleteItem);

            _pallets = wcfClient.Client.GetAllPalletsSearch(SearchString, SearchDescription, RangeIndex, ref _numberOfItems, false);
            int iIndex = 0;

            foreach (DCSBPallet p in _pallets)
            {
                UnitsManager.UnitSystem us = (UnitsManager.UnitSystem)p.UnitSystem;

                gridPallets.Rows.Insert(++iIndex);
                int iCol = 0;
                gridPallets[iIndex, iCol++] = new SourceGrid.Cells.Cell(p.Name);
                gridPallets[iIndex, iCol++] = new SourceGrid.Cells.Cell(p.Description);
                gridPallets[iIndex, iCol++] = new SourceGrid.Cells.Cell(
                    string.Format("{0:0.##} x {1:0.##} x {2:0.##}",
                                  UnitsManager.ConvertLengthFrom(p.Dimensions.M0, us),
                                  UnitsManager.ConvertLengthFrom(p.Dimensions.M1, us),
                                  UnitsManager.ConvertLengthFrom(p.Dimensions.M2, us))
                    );
                gridPallets[iIndex, iCol++] = new SourceGrid.Cells.Cell(
                    string.Format("{0:0.###}", UnitsManager.ConvertMassFrom(p.Weight, us))
                    );
                gridPallets[iIndex, iCol] = new SourceGrid.Cells.Button("")
                {
                    Image = Properties.Resources.Delete
                };
                gridPallets[iIndex, iCol++].AddController(buttonDelete);
            }
            GridFinalize(gridPallets);
        }
        void FillChannelsGrid()
        {
            InitializeGrid();

            foreach (IChannel ch in channels)
            {
                int curRow = channelsGrid.RowsCount;
                channelsGrid.RowsCount++;

                channelsGrid[curRow, 0] = new SourceGrid.Cells.Cell(curRow - 1);
                channelsGrid[curRow, 1] = new SourceGrid.Cells.Cell(ch.Name);

                channelsGrid[curRow, 2] = new SourceGrid.Cells.Button("remove");
                SourceGrid.Cells.Controllers.Button buttonClickEvent = new SourceGrid.Cells.Controllers.Button();
                buttonClickEvent.Executed += new EventHandler(OnRemoveClicked);
                channelsGrid[curRow, 2].Controller.AddController(buttonClickEvent);

                channelsGrid.Rows[curRow].Tag = ch;
            }
        }
Пример #6
0
        public override void MakeRow(SourceGrid.GridRow gridrow)
        {
            GridRow = gridrow;
            int i    = GridRow.Index;
            var grid = GridRow.Grid as MyGrid;

            if (TitleRowType == ETitleRowType.Static)
            {
                grid[i, 0]            = new SourceGrid.Cells.Cell(RowTitle);
                grid[i, 0].View       = grid.gridViewModel.titleModel;
                grid[i, 0].ColumnSpan = 3;
            }
            else if (TitleRowType == ETitleRowType.Collapsable)
            {
                grid[i, 0] = new SourceGrid.Cells.Button("-");
                grid[i, 0].AddController(buttonController);
                grid[i, 0].View       = grid.gridViewModel.titleModel;
                grid[i, 1]            = new SourceGrid.Cells.Cell(RowTitle);
                grid[i, 1].View       = grid.gridViewModel.titleModel;
                grid[i, 1].ColumnSpan = 2;
            }
            else if (TitleRowType == ETitleRowType.CollapsableWithValue)
            {
                grid[i, 0] = new SourceGrid.Cells.Button("-");
                grid[i, 0].AddController(buttonController);
                grid[i, 0].View = grid.gridViewModel.titleModel;
                grid[i, 1]      = new SourceGrid.Cells.Cell(RowTitle);
                grid[i, 1].View = grid.gridViewModel.titleModel;
                grid[i, 2]      = new SourceGrid.Cells.Cell();
                grid[i, 2].View = grid.gridViewModel.titleDataCellModel;
            }
            else if (TitleRowType == ETitleRowType.SubTitle)
            {
                MakeFirstCell();
                grid[i, 1]            = new SourceGrid.Cells.Cell(RowTitle);
                grid[i, 1].View       = grid.gridViewModel.titleModel2;
                grid[i, 1].ColumnSpan = 2;
            }
        }
Пример #7
0
        private void FillGrid()
        {
            // fill grid solution
            gridSolutions.Rows.Clear();

            // border
            DevAge.Drawing.BorderLine      border     = new DevAge.Drawing.BorderLine(Color.DarkBlue, 1);
            DevAge.Drawing.RectangleBorder cellBorder = new DevAge.Drawing.RectangleBorder(border, border);

            // views
            CellBackColorAlternate viewNormal = new CellBackColorAlternate(Color.LightBlue, Color.White);

            viewNormal.Border = cellBorder;
            CheckboxBackColorAlternate viewNormalCheck = new CheckboxBackColorAlternate(Color.LightBlue, Color.White);

            viewNormalCheck.Border = cellBorder;

            // column header view
            SourceGrid.Cells.Views.ColumnHeader        viewColumnHeader = new SourceGrid.Cells.Views.ColumnHeader();
            DevAge.Drawing.VisualElements.ColumnHeader backHeader       = new DevAge.Drawing.VisualElements.ColumnHeader();
            backHeader.BackColor                   = Color.LightGray;
            backHeader.Border                      = DevAge.Drawing.RectangleBorder.NoBorder;
            viewColumnHeader.Background            = backHeader;
            viewColumnHeader.ForeColor             = Color.White;
            viewColumnHeader.Font                  = new Font("Arial", 10, FontStyle.Bold);
            viewColumnHeader.ElementSort.SortStyle = DevAge.Drawing.HeaderSortStyle.None;

            // create the grid
            gridSolutions.BorderStyle = BorderStyle.FixedSingle;

            gridSolutions.ColumnsCount = 6;
            gridSolutions.FixedRows    = 1;
            gridSolutions.Rows.Insert(0);

            // header
            SourceGrid.Cells.ColumnHeader columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_NAME);
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View   = viewColumnHeader;
            gridSolutions[0, 0] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_CASEDIMENSIONS + @"(mm*mm*mm)");
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View   = viewColumnHeader;
            gridSolutions[0, 1] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_CASEINSIDEDIMENSIONS + @"(mm*mm*mm)");
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View   = viewColumnHeader;
            gridSolutions[0, 2] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_ORIENTATION);
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View   = viewColumnHeader;
            gridSolutions[0, 3] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_CASECOUNT);
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View   = viewColumnHeader;
            gridSolutions[0, 4] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader();
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View   = viewColumnHeader;
            gridSolutions[0, 5] = columnHeader;

            int iIndex = 0;

            foreach (PalletSolutionDesc desc in PalletSolutionDatabase.Instance.QueryPalletSolutions(CurrentKey))
            {
                gridSolutions.Rows.Insert(++iIndex);
                gridSolutions[iIndex, 0]       = new SourceGrid.Cells.Cell(desc.FriendlyName);
                gridSolutions[iIndex, 1]       = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseDimensionsString));
                gridSolutions[iIndex, 2]       = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseInsideDimensionsString));
                gridSolutions[iIndex, 3]       = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseOrientation));
                gridSolutions[iIndex, 4]       = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseCount));
                gridSolutions[iIndex, 5]       = new SourceGrid.Cells.Button("");
                gridSolutions[iIndex, 5].Image = Properties.Resources.Delete;
                SourceGrid.Cells.Controllers.Button buttonClickEvent = new SourceGrid.Cells.Controllers.Button();
                buttonClickEvent.Executed += new EventHandler(DeleteButton_Click);
                gridSolutions[iIndex, 5].Controller.AddController(buttonClickEvent);
            }

            // handling check box click
            SourceGrid.Cells.Controllers.CustomEvents solCheckboxClickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
            solCheckboxClickEvent.Click += new EventHandler(clickEvent_Click);

            gridSolutions.AutoStretchColumnsToFitWidth = true;
            gridSolutions.AutoSizeCells();
            gridSolutions.Columns.StretchToFit();

            // select first solution
            if (gridSolutions.RowsCount > 1)
            {
                gridSolutions.Selection.SelectRow(1, true);
            }
            Draw();
        }
        private void FillGrid()
        {
            // remove all existing rows
            grid.Rows.Clear();
            // *** IViews
            // caption header
            var captionHeader = new SourceGrid.Cells.Views.RowHeader()
            {
                Background = new DevAge.Drawing.VisualElements.RowHeader()
                {
                    BackColor = Color.SteelBlue,
                    Border    = DevAge.Drawing.RectangleBorder.NoBorder
                },
                ForeColor     = Color.Black,
                Font          = new Font("Arial", 10, FontStyle.Bold),
                TextAlignment = DevAge.Drawing.ContentAlignment.MiddleCenter
            };
            // view column header
            var viewColumnHeader = new SourceGrid.Cells.Views.ColumnHeader()
            {
                Background = new DevAge.Drawing.VisualElements.ColumnHeader()
                {
                    BackColor = Color.LightGray,
                    Border    = DevAge.Drawing.RectangleBorder.NoBorder
                },
                ForeColor = Color.Black,
                Font      = new Font("Arial", 10, FontStyle.Regular),
            };

            viewColumnHeader.ElementSort.SortStyle = DevAge.Drawing.HeaderSortStyle.None;
            // set first row
            grid.BorderStyle  = BorderStyle.FixedSingle;
            grid.ColumnsCount = 8;
            grid.FixedRows    = 1;
            grid.Rows.Insert(0);
            // header
            int iCol = 0;

            SourceGrid.Cells.ColumnHeader columnHeader;
            // name
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_NAME)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;
            // profile
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_PROFILE)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;
            // thickness
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_THICKNESS)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;
            // ECT
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_ECT)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;
            // RigidityX
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_RIGIDITYX)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;
            // RigidityY
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_RIGIDITYY)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;
            // edit
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_EDIT)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;
            // delete
            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_DELETE)
            {
                AutomaticSortEnabled = false,
                View = viewColumnHeader
            };
            grid[0, iCol++] = columnHeader;

            // handling delete event
            SourceGrid.Cells.Controllers.CustomEvents buttonDelete = new SourceGrid.Cells.Controllers.CustomEvents();
            buttonDelete.Click += new EventHandler(OnDeleteItem);
            SourceGrid.Cells.Controllers.CustomEvents buttonEdit = new SourceGrid.Cells.Controllers.CustomEvents();
            buttonEdit.Click += new EventHandler(OnEditItem);
            // ROWS
            int iIndex      = 0;
            var dictQuality = CardboardQualityAccessor.Instance.CardboardQualities;

            foreach (var q in dictQuality)
            {
                grid.Rows.Insert(++iIndex);
                iCol = 0;

                var quality = q;
                grid[iIndex, iCol++] = new SourceGrid.Cells.Cell(quality.Name);
                grid[iIndex, iCol++] = new SourceGrid.Cells.Cell(quality.Profile);
                grid[iIndex, iCol++] = new SourceGrid.Cells.Cell($"{quality.Thickness:0.##}");
                grid[iIndex, iCol++] = new SourceGrid.Cells.Cell($"{quality.ECT:0.##}");
                grid[iIndex, iCol++] = new SourceGrid.Cells.Cell($"{quality.RigidityDX:0.##}");
                grid[iIndex, iCol++] = new SourceGrid.Cells.Cell($"{quality.RigidityDY:0.##}");
                grid[iIndex, iCol]   = new SourceGrid.Cells.Button(Properties.Resources.ID_EDIT);
                grid[iIndex, iCol++].AddController(buttonEdit);
                grid[iIndex, iCol] = new SourceGrid.Cells.Button("")
                {
                    Image = Properties.Resources.Delete
                };
                grid[iIndex, iCol++].AddController(buttonDelete);
            }

            grid.AutoStretchColumnsToFitWidth = true;
            grid.AutoSizeCells();
            grid.Columns.StretchToFit();
        }
Пример #9
0
        private void frmSample14_Load(object sender, System.EventArgs e)
        {
            grid1.Redim(20, 10);
            grid1.FixedRows = 2;

            //1 Header Row
            grid1[0, 0]            = new MyHeader("3 Column Header");
            grid1[0, 0].ColumnSpan = 3;
            grid1[0, 3]            = new MyHeader("5 Column Header");
            grid1[0, 3].ColumnSpan = 5;
            grid1[0, 8]            = new MyHeader("1 Column Header");
            grid1[0, 9]            = new MyHeader("1 Column Header");

            //2 Header Row
            grid1[1, 0] = new MyHeader("1");
            grid1[1, 1] = new MyHeader("2");
            grid1[1, 2] = new MyHeader("3");
            grid1[1, 3] = new MyHeader("4");
            grid1[1, 4] = new MyHeader("5");
            grid1[1, 5] = new MyHeader("6");
            grid1[1, 6] = new MyHeader("7");
            grid1[1, 7] = new MyHeader("8");
            grid1[1, 8] = new MyHeader("9");
            grid1[1, 9] = new MyHeader("10");

            SourceGrid.Cells.Views.Cell viewImage = new SourceGrid.Cells.Views.Cell();

            SourceGrid.Cells.Controllers.CustomEvents clickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
            clickEvent.Click += new EventHandler(clickEvent_Click);

            for (int r = 2; r < grid1.RowsCount; r = r + 2)
            {
                grid1[r, 0]            = new SourceGrid.Cells.Cell(r.ToString(), typeof(string));
                grid1[r, 0].ColumnSpan = 2;

                grid1[r + 1, 0]            = new SourceGrid.Cells.Cell(DateTime.Today.AddDays(r), typeof(DateTime));
                grid1[r + 1, 0].ColumnSpan = 2;

                grid1[r, 2]            = new SourceGrid.Cells.CheckBox("CheckBox Column/Row Span", false);
                grid1[r, 2].ColumnSpan = 2;
                grid1[r, 2].RowSpan    = 2;

                grid1[r, 4]            = new SourceGrid.Cells.Link("Link Column/Row Span");
                grid1[r, 4].ColumnSpan = 2;
                grid1[r, 4].RowSpan    = 2;
                grid1[r, 4].AddController(clickEvent);

                grid1[r, 6]            = new SourceGrid.Cells.Button("Button Column/Row Span");
                grid1[r, 6].ColumnSpan = 2;
                grid1[r, 6].RowSpan    = 2;
                grid1[r, 6].AddController(clickEvent);

                grid1[r, 8]            = new SourceGrid.Cells.Cell("Image Column/Row Span");
                grid1[r, 8].View       = viewImage;
                grid1[r, 8].Image      = Properties.Resources.FACE02.ToBitmap();
                grid1[r, 8].ColumnSpan = 2;
                grid1[r, 8].RowSpan    = 2;
            }

            grid1.AutoSizeCells();
        }
        private void FillGrid()
        {
            // fill grid solution
            gridSolutions.Rows.Clear();

            // border
            DevAge.Drawing.BorderLine border = new DevAge.Drawing.BorderLine(Color.DarkBlue, 1);
            DevAge.Drawing.RectangleBorder cellBorder = new DevAge.Drawing.RectangleBorder(border, border);

            // views
            CellBackColorAlternate viewNormal = new CellBackColorAlternate(Color.LightBlue, Color.White);
            viewNormal.Border = cellBorder;
            CheckboxBackColorAlternate viewNormalCheck = new CheckboxBackColorAlternate(Color.LightBlue, Color.White);
            viewNormalCheck.Border = cellBorder;

            // column header view
            SourceGrid.Cells.Views.ColumnHeader viewColumnHeader = new SourceGrid.Cells.Views.ColumnHeader();
            DevAge.Drawing.VisualElements.ColumnHeader backHeader = new DevAge.Drawing.VisualElements.ColumnHeader();
            backHeader.BackColor = Color.LightGray;
            backHeader.Border = DevAge.Drawing.RectangleBorder.NoBorder;
            viewColumnHeader.Background = backHeader;
            viewColumnHeader.ForeColor = Color.White;
            viewColumnHeader.Font = new Font("Arial", 10, FontStyle.Bold);
            viewColumnHeader.ElementSort.SortStyle = DevAge.Drawing.HeaderSortStyle.None;

            // create the grid
            gridSolutions.BorderStyle = BorderStyle.FixedSingle;

            gridSolutions.ColumnsCount = 6;
            gridSolutions.FixedRows = 1;
            gridSolutions.Rows.Insert(0);

            // header
            SourceGrid.Cells.ColumnHeader columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_NAME);
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View = viewColumnHeader;
            gridSolutions[0, 0] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_CASEDIMENSIONS + @"(mm*mm*mm)");
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View = viewColumnHeader;
            gridSolutions[0, 1] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_CASEINSIDEDIMENSIONS + @"(mm*mm*mm)");
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View = viewColumnHeader;
            gridSolutions[0, 2] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_ORIENTATION);
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View = viewColumnHeader;
            gridSolutions[0, 3] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader(Properties.Resources.ID_CASECOUNT);
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View = viewColumnHeader;
            gridSolutions[0, 4] = columnHeader;

            columnHeader = new SourceGrid.Cells.ColumnHeader();
            columnHeader.AutomaticSortEnabled = false;
            columnHeader.View = viewColumnHeader;
            gridSolutions[0, 5] = columnHeader;

            int iIndex = 0;
            foreach (PalletSolutionDesc desc in PalletSolutionDatabase.Instance.QueryPalletSolutions(CurrentKey))
            {
                gridSolutions.Rows.Insert(++iIndex);
                gridSolutions[iIndex, 0] = new SourceGrid.Cells.Cell(desc.FriendlyName);
                gridSolutions[iIndex, 1] = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseDimensionsString));
                gridSolutions[iIndex, 2] = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseInsideDimensionsString));
                gridSolutions[iIndex, 3] = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseOrientation));
                gridSolutions[iIndex, 4] = new SourceGrid.Cells.Cell(string.Format("{0}", desc.CaseCount));
                gridSolutions[iIndex, 5] = new SourceGrid.Cells.Button("");
                gridSolutions[iIndex, 5].Image = Properties.Resources.Delete;
                SourceGrid.Cells.Controllers.Button buttonClickEvent = new SourceGrid.Cells.Controllers.Button();
                buttonClickEvent.Executed += new EventHandler(DeleteButton_Click);
                gridSolutions[iIndex, 5].Controller.AddController(buttonClickEvent);
            }

            // handling check box click
            SourceGrid.Cells.Controllers.CustomEvents solCheckboxClickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
            solCheckboxClickEvent.Click += new EventHandler(clickEvent_Click);

            gridSolutions.AutoStretchColumnsToFitWidth = true;
            gridSolutions.AutoSizeCells();
            gridSolutions.Columns.StretchToFit();

            // select first solution
            if (gridSolutions.RowsCount > 1)
                gridSolutions.Selection.SelectRow(1, true);
            Draw();
        }
Пример #11
0
 public void DoFill(List<Order> list)
 {
     OrderGrid.Redim(0, 0);
     OrderGrid.FixedRows = 1;
     OrderGrid.FixedColumns = 1;
     OrderGrid.EnableSort = true;
     OrderGrid.Redim(list.Count + 1, 8);
     OrderGrid.Rows[0].Height = 25;
     OrderGrid[0, 0] = new MyHeader("");
     OrderGrid[0, 0].Column.Width = 50;
     OrderGrid[0, 1] = new MyHeader("开始日期");
     OrderGrid[0, 1].Column.Width = 100;
     OrderGrid[0, 1].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     OrderGrid[0, 2] = new MyHeader("结束日期");
     OrderGrid[0, 2].Column.Width = 100;
     OrderGrid[0, 2].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     OrderGrid[0, 3] = new MyHeader("订单编号");
     OrderGrid[0, 3].Column.Width = 100;
     OrderGrid[0, 3].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     OrderGrid[0, 4] = new MyHeader("订单描述");
     OrderGrid[0, 4].Column.Width = 300;
     OrderGrid[0, 4].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     OrderGrid[0, 5] = new MyHeader("业务员");
     OrderGrid[0, 5].Column.Width = 100;
     OrderGrid[0, 5].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     OrderGrid[0, 6] = new MyHeader("订单状态");
     OrderGrid[0, 6].Column.Width = 150;
     OrderGrid[0, 6].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     OrderGrid[0, 7] = new MyHeader("备注");
     OrderGrid[0, 7].Column.Width = 200;
     SourceGrid.Cells.Controllers.CustomEvents clickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
     clickEvent.DoubleClick += new EventHandler(dbClickEvent_Click);
     clickEvent.Click += new EventHandler(clickEvent_Click);
     int r = 1;
     foreach (Order order in list)
     {
         OrderGrid.Rows[r].Tag = order.Id;
         OrderGrid.Rows[r].Height = 25;
         if (string.IsNullOrEmpty(order.EndDate))
         {
             OrderGrid[r, 0] = new SourceGrid.Cells.Button("跟进");
             SourceGrid.Cells.Controllers.Button buttonClickEvent = new SourceGrid.Cells.Controllers.Button();
             buttonClickEvent.Executed += new EventHandler(CellButton_Click);
             OrderGrid[r, 0].Controller.AddController(buttonClickEvent);
         }
         else
         {
             OrderGrid[r, 0] = null;
         }
         OrderGrid[r, 1] = new SourceGrid.Cells.Cell(order.BeginDate);
         OrderGrid[r, 1].AddController(clickEvent);
         OrderGrid[r, 2] = new SourceGrid.Cells.Cell(order.EndDate);
         OrderGrid[r, 2].AddController(clickEvent);
         OrderGrid[r, 3] = new SourceGrid.Cells.Cell(order.OrderNo);
         OrderGrid[r, 3].AddController(clickEvent);
         OrderGrid[r, 4] = new SourceGrid.Cells.Cell(order.Description);
         OrderGrid[r, 4].AddController(clickEvent);
         OrderGrid[r, 5] = new SourceGrid.Cells.Cell(order.SalesMan);
         OrderGrid[r, 6] = new SourceGrid.Cells.Cell(order.Status);
         OrderGrid[r, 7] = new SourceGrid.Cells.Cell(order.Remark);
         r++;
     }
     OrderGrid.ClipboardMode = SourceGrid.ClipboardMode.All;
 }
Пример #12
0
		private void frmSample14_Load(object sender, System.EventArgs e)
		{
			grid1.Redim(20, 10);
			grid1.FixedRows = 2;
			
			//1 Header Row
			grid1[0, 0] = new MyHeader("3 Column Header");
			grid1[0, 0].ColumnSpan = 3;
			grid1[0, 3] = new MyHeader("5 Column Header");
			grid1[0, 3].ColumnSpan = 5;
			grid1[0, 8] = new MyHeader("1 Column Header");
			grid1[0, 9] = new MyHeader("1 Column Header");

			//2 Header Row
			grid1[1, 0] = new MyHeader("1");
			grid1[1, 1] = new MyHeader("2");
			grid1[1, 2] = new MyHeader("3");
			grid1[1, 3] = new MyHeader("4");
			grid1[1, 4] = new MyHeader("5");
			grid1[1, 5] = new MyHeader("6");
			grid1[1, 6] = new MyHeader("7");
			grid1[1, 7] = new MyHeader("8");
			grid1[1, 8] = new MyHeader("9");
			grid1[1, 9] = new MyHeader("10");

			SourceGrid.Cells.Views.Cell viewImage = new SourceGrid.Cells.Views.Cell();

			SourceGrid.Cells.Controllers.CustomEvents clickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
			clickEvent.Click += new EventHandler(clickEvent_Click);

			for (int r = 2; r < grid1.RowsCount; r=r+2)
			{
				grid1[r, 0] = new SourceGrid.Cells.Cell(r.ToString(), typeof(string));
				grid1[r, 0].ColumnSpan = 2;

				grid1[r+1, 0] = new SourceGrid.Cells.Cell(DateTime.Today.AddDays(r), typeof(DateTime));
				grid1[r+1, 0].ColumnSpan = 2;

				grid1[r, 2] = new SourceGrid.Cells.CheckBox("CheckBox Column/Row Span", false);
				grid1[r, 2].ColumnSpan = 2;
				grid1[r, 2].RowSpan = 2;

				grid1[r, 4] = new SourceGrid.Cells.Link("Link Column/Row Span");
				grid1[r, 4].ColumnSpan = 2;
				grid1[r, 4].RowSpan = 2;
				grid1[r, 4].AddController(clickEvent);

				grid1[r, 6] = new SourceGrid.Cells.Button("Button Column/Row Span");
				grid1[r, 6].ColumnSpan = 2;
				grid1[r, 6].RowSpan = 2;
				grid1[r, 6].AddController(clickEvent);

				grid1[r, 8] = new SourceGrid.Cells.Cell("Image Column/Row Span");
				grid1[r, 8].View = viewImage;
				grid1[r, 8].Image = Properties.Resources.FACE02.ToBitmap();
				grid1[r, 8].ColumnSpan = 2;
				grid1[r, 8].RowSpan = 2;
			}

            grid1.AutoSizeCells();
		}
Пример #13
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            grid.Redim(62, 3);

            SourceGrid.Cells.Views.Cell titleModel = new SourceGrid.Cells.Views.Cell();
            titleModel.BackColor     = Color.SteelBlue;
            titleModel.ForeColor     = Color.White;
            titleModel.TextAlignment = DevAge.Drawing.ContentAlignment.MiddleCenter;
            SourceGrid.Cells.Views.Cell captionModel = new SourceGrid.Cells.Views.Cell();
            captionModel.BackColor = grid.BackColor;

            int currentRow = 0;

            #region Base Types
            grid[currentRow, 0]            = new SourceGrid.Cells.Cell("Base Types");
            grid[currentRow, 0].View       = titleModel;
            grid[currentRow, 0].ColumnSpan = 3;
            currentRow++;

            //string
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("String");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell("String Value", typeof(string));

            currentRow++;

            //double
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Double");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(1.5, typeof(double));

            currentRow++;

            //int
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Int");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(5, typeof(int));

            currentRow++;

            //DateTime
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("DateTime");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(DateTime.Now, typeof(DateTime));

            currentRow++;

            //Boolean
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Boolean");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(true, typeof(Boolean));

            currentRow++;
            #endregion

            #region Complex Types
            grid[currentRow, 0]            = new SourceGrid.Cells.Cell("Complex Types");
            grid[currentRow, 0].View       = titleModel;
            grid[currentRow, 0].ColumnSpan = 3;
            currentRow++;

            //Font
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Font");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(this.Font, typeof(Font));

            currentRow++;

            //Cursor
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Cursor");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(Cursors.Arrow, typeof(Cursor));

            currentRow++;

            //Point
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Point");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(new Point(2, 3), typeof(Point));

            currentRow++;

            //Rectangle
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Rectangle");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(new Rectangle(100, 100, 200, 200), typeof(Rectangle));

            currentRow++;

            //Image
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Image");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Image(Properties.Resources.CalcioSmall);

            currentRow++;

            //Enum AnchorStyle
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("AnchorStyle");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(AnchorStyles.Bottom, typeof(AnchorStyles));

            currentRow++;

            //Enum
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Enum");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(System.Windows.Forms.BorderStyle.Fixed3D, typeof(System.Windows.Forms.BorderStyle));

            currentRow++;

            //String[]
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("String Array");
            grid[currentRow, 0].View = captionModel;
            string[] strArray = new string[] { "Value 1", "Value 2" };
            grid[currentRow, 1] = new SourceGrid.Cells.Cell(strArray, typeof(string[]));

            currentRow++;

            //Double[]
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Double Array");
            grid[currentRow, 0].View = captionModel;
            double[] dblArray = new double[] { 1, 0.5, 0.1 };
            grid[currentRow, 1] = new SourceGrid.Cells.Cell(dblArray, typeof(double[]));

            currentRow++;
            #endregion

            #region Special Editors
            grid[currentRow, 0]            = new SourceGrid.Cells.Cell("Special Editors");
            grid[currentRow, 0].View       = titleModel;
            grid[currentRow, 0].ColumnSpan = 3;
            currentRow++;

            //Time
            grid[currentRow, 0]        = new SourceGrid.Cells.Cell("Time");
            grid[currentRow, 0].View   = captionModel;
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(DateTime.Now);
            grid[currentRow, 1].Editor = new SourceGrid.Cells.Editors.TimePicker();

            currentRow++;

            //Double Chars Validation
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Double Chars Validation");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.TextBoxNumeric numericEditor = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(double));
            numericEditor.KeyPress += delegate(object sender, KeyPressEventArgs keyArgs)
            {
                bool isValid = char.IsNumber(keyArgs.KeyChar) ||
                               keyArgs.KeyChar == System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator[0];

                keyArgs.Handled = !isValid;
            };
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(0.5);
            grid[currentRow, 1].Editor = numericEditor;

            currentRow++;

            //String Chars (ABC)
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Chars Validation(only ABC)");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.TextBox stringEditor = new SourceGrid.Cells.Editors.TextBox(typeof(string));
            stringEditor.KeyPress += delegate(object sender, KeyPressEventArgs keyArgs)
            {
                keyArgs.KeyChar = char.ToUpper(keyArgs.KeyChar);
                bool isValid = keyArgs.KeyChar == 'A' || keyArgs.KeyChar == 'B' || keyArgs.KeyChar == 'C';

                keyArgs.Handled = !isValid;
            };
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell("AABB");
            grid[currentRow, 1].Editor = stringEditor;

            currentRow++;

            //String Validating
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("String validating(min 6 chars)");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.TextBox stringEditorValidating = new SourceGrid.Cells.Editors.TextBox(typeof(string));
            stringEditorValidating.Control.Validating += delegate(object sender, CancelEventArgs cancelEvent)
            {
                string val = ((TextBox)sender).Text;
                if (val == null || val.Length < 6)
                {
                    cancelEvent.Cancel = true;
                }
            };
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell("test string");
            grid[currentRow, 1].Editor = stringEditorValidating;

            currentRow++;

            //Int 0-100 or null
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Int 0-100 or null");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.TextBoxNumeric numericEditor0_100 = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(int));
            numericEditor0_100.MinimumValue = 0;
            numericEditor0_100.MaximumValue = 100;
            numericEditor0_100.AllowNull    = true;
            grid[currentRow, 1]             = new SourceGrid.Cells.Cell(7);
            grid[currentRow, 1].Editor      = numericEditor0_100;

            currentRow++;

            //Double Custom Conversion
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Dbl custom conversion");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.TextBox dblCustomConversion = new SourceGrid.Cells.Editors.TextBox(typeof(double));
            dblCustomConversion.ConvertingObjectToValue += delegate(object sender,
                                                                    DevAge.ComponentModel.ConvertingObjectEventArgs conv)
            {
                if (conv.Value is string)
                {
                    //Here you can add any custom code
                    double val;
                    if (double.TryParse((string)conv.Value, out val))
                    {
                        conv.Value            = val;
                        conv.ConvertingStatus = DevAge.ComponentModel.ConvertingStatus.Completed;
                    }
                }
            };
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(73.839);
            grid[currentRow, 1].Editor = dblCustomConversion;

            currentRow++;

            //Enum Custom Display
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Enum Custom Display");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.ComboBox keysCombo = new SourceGrid.Cells.Editors.ComboBox(typeof(Keys));
            keysCombo.Control.FormattingEnabled       = true;
            keysCombo.ConvertingValueToDisplayString += delegate(object sender, DevAge.ComponentModel.ConvertingObjectEventArgs convArgs)
            {
                if (convArgs.Value is Keys)
                {
                    convArgs.Value = (int)((Keys)convArgs.Value) + " - " + convArgs.Value.ToString();
                }
            };
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(Keys.Enter);
            grid[currentRow, 1].Editor = keysCombo;

            currentRow++;

            string[] arraySample = new string[] { "Value 1", "Value 2", "Value 3" };
            //ComboBox 1
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("ComboBox String");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.ComboBox comboStandard = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, false);
            comboStandard.Control.MaxLength = 10;
            grid[currentRow, 1]             = new SourceGrid.Cells.Cell(arraySample[0], comboStandard);

            currentRow++;

            //ComboBox exclusive
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("ComboBox String Exclusive");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.ComboBox comboExclusive = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, true);
            grid[currentRow, 1] = new SourceGrid.Cells.Cell(arraySample[0], comboExclusive);

            currentRow++;

            //ComboBox AutoComplete
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("ComboBox AutoComplete");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.ComboBox comboAutoComplete =
                new SourceGrid.Cells.Editors.ComboBox(typeof(string),
                                                      new string[] { "AAA", "ABC", "AZA", "BAA", "ZAA" },
                                                      true);
            comboAutoComplete.Control.AutoCompleteSource = AutoCompleteSource.ListItems;
            comboAutoComplete.Control.AutoCompleteMode   = AutoCompleteMode.Append;
            grid[currentRow, 1] = new SourceGrid.Cells.Cell("AAA", comboAutoComplete);

            currentRow++;

            //ComboBox DropDownList
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("ComboBox DropDownList");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.ComboBox comboNoText = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, true);
            grid[currentRow, 1]               = new SourceGrid.Cells.Cell(arraySample[0]);
            grid[currentRow, 1].Editor        = comboNoText;
            comboNoText.Control.DropDownStyle = ComboBoxStyle.DropDownList;

            currentRow++;

            //ComboBox DateTime Editable
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("ComboBox DateTime");
            grid[currentRow, 0].View = captionModel;
            DateTime[] arrayDt = new DateTime[] { new DateTime(1981, 10, 6), new DateTime(1991, 10, 6), new DateTime(2001, 10, 6) };
            SourceGrid.Cells.Editors.ComboBox comboDateTime = new SourceGrid.Cells.Editors.ComboBox(typeof(DateTime), arrayDt, false);
            grid[currentRow, 1] = new SourceGrid.Cells.Cell(arrayDt[0], comboDateTime);

            currentRow++;

            //ComboBox Custom Display (create a datamodel that has a custom display string)
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("ComboBox Custom Display");
            grid[currentRow, 0].View = captionModel;
            int[]    arrInt = new int[] { 0, 1, 2, 3, 4 };
            string[] arrStr = new string[] { "0 - Zero", "1 - One", "2 - Two", "3 - Three", "4- Four" };
            SourceGrid.Cells.Editors.ComboBox editorComboCustomDisplay = new SourceGrid.Cells.Editors.ComboBox(typeof(int), arrInt, true);
            editorComboCustomDisplay.Control.FormattingEnabled = true;
            DevAge.ComponentModel.Validator.ValueMapping comboMapping = new DevAge.ComponentModel.Validator.ValueMapping();
            comboMapping.DisplayStringList = arrStr;
            comboMapping.ValueList         = arrInt;
            comboMapping.SpecialList       = arrStr;
            comboMapping.SpecialType       = typeof(string);
            comboMapping.BindValidator(editorComboCustomDisplay);
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(0);
            grid[currentRow, 1].Editor = editorComboCustomDisplay;

            SourceGrid.Cells.Cell l_CellComboRealValue = new SourceGrid.Cells.Cell(grid[currentRow, 1].Value);
            l_CellComboRealValue.View = captionModel;
            SourceGrid.Cells.Controllers.BindProperty l_ComboBindProperty = new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Cell).GetProperty("Value"), l_CellComboRealValue);
            grid[currentRow, 1].AddController(l_ComboBindProperty);
            grid[currentRow, 2] = l_CellComboRealValue;

            currentRow++;

            //ComboBox with inline View
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("ComboBox Inline View");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.ComboBox cbInline = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, false);
            cbInline.EditableMode    = SourceGrid.EditableMode.Default | SourceGrid.EditableMode.Focus;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(arraySample[0], cbInline);
            grid[currentRow, 1].View = SourceGrid.Cells.Views.ComboBox.Default;

            currentRow++;

            //Numeric Up Down Editor
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("NumericUpDown");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1] = new SourceGrid.Cells.Cell(0);
            SourceGrid.Cells.Editors.NumericUpDown l_NumericUpDownEditor = new SourceGrid.Cells.Editors.NumericUpDown(typeof(int), 50, -50, 1);
            grid[currentRow, 1].Editor = l_NumericUpDownEditor;

            currentRow++;

            //Multiline Textbox
            grid[currentRow, 0]            = new SourceGrid.Cells.Cell("Multiline Textbox");
            grid[currentRow, 0].View       = captionModel;
            grid[currentRow, 0].ColumnSpan = 1;
            grid[currentRow, 0].RowSpan    = 2;

            grid[currentRow, 1] = new SourceGrid.Cells.Cell("Hello\r\nWorld");
            SourceGrid.Cells.Editors.TextBox l_MultilineEditor = new SourceGrid.Cells.Editors.TextBox(typeof(string));
            l_MultilineEditor.Control.Multiline = true;
            grid[currentRow, 1].Editor          = l_MultilineEditor;
            grid[currentRow, 1].RowSpan         = 2;

            currentRow++;
            currentRow++;

            //Boolean (CheckBox)
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Boolean (CheckBox)");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.CheckBox(null, true);
            grid[currentRow, 1].FindController <SourceGrid.Cells.Controllers.CheckBox>().CheckedChanged += InvertDisabledCheckBox(currentRow);


            SourceGrid.Cells.CheckBox l_DisabledCheckBox = new SourceGrid.Cells.CheckBox("Disabled Checkbox", true);
            l_DisabledCheckBox.Editor.EnableEdit = false;
            grid[currentRow, 2] = l_DisabledCheckBox;

            currentRow++;

            //DateTime with DateTimePicker Editor
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("DateTimePicker");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.DateTimePicker editorDtPicker = new SourceGrid.Cells.Editors.DateTimePicker();
            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(DateTime.Today);
            grid[currentRow, 1].Editor = editorDtPicker;

            currentRow++;

            //DateTime with DateTimePicker nullable Editor
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("DateTimePicker nullable");
            grid[currentRow, 0].View = captionModel;
            SourceGrid.Cells.Editors.DateTimePicker editorDtPickerNull = new SourceGrid.Cells.Editors.DateTimePicker();
            editorDtPickerNull.AllowNull = true;
            grid[currentRow, 1]          = new SourceGrid.Cells.Cell(null);
            grid[currentRow, 1].Editor   = editorDtPickerNull;

            currentRow++;

            //File editor
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("File editor");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell("c:\\windows\\System32\\user32.dll", new EditorFileDialog());

            currentRow++;

            // Richtext box
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("RichTextBox editor");
            grid[currentRow, 0].View = captionModel;
            string rtf = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0" +
                         "Microsoft Sans Serif;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs17 Only a \\b " +
                         "Test\\b0.\\par\r\n}\r\n";
            var richTextBox = new SourceGrid.Cells.RichTextBox(new RichText(rtf));
            grid[currentRow, 1] = richTextBox;

            currentRow++;

            #endregion

            #region Special Cells
            grid[currentRow, 0]            = new SourceGrid.Cells.Cell("Special Cells");
            grid[currentRow, 0].View       = titleModel;
            grid[currentRow, 0].ColumnSpan = 3;
            currentRow++;

            //Cell Button
            grid[currentRow, 0]       = new SourceGrid.Cells.Cell("Cell Button");
            grid[currentRow, 0].View  = captionModel;
            grid[currentRow, 1]       = new SourceGrid.Cells.Button("CellButton");
            grid[currentRow, 1].Image = Properties.Resources.FACE02.ToBitmap();
            SourceGrid.Cells.Controllers.Button buttonClickEvent = new SourceGrid.Cells.Controllers.Button();
            buttonClickEvent.Executed += new EventHandler(CellButton_Click);
            grid[currentRow, 1].Controller.AddController(buttonClickEvent);

            currentRow++;

            //Cell Link
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Cell Link");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Link("CellLink");
            SourceGrid.Cells.Controllers.Button linkClickEvent = new SourceGrid.Cells.Controllers.Button();
            linkClickEvent.Executed += new EventHandler(CellLink_Click);
            grid[currentRow, 1].Controller.AddController(linkClickEvent);

            currentRow++;

            //Custom draw cell
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Custom draw cell");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell("CustomView");
            grid[currentRow, 1].View = new RoundView();

            currentRow++;

            //Control Cell
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Control Cell");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell("control cell");
            ProgressBar progressBar = new ProgressBar();
            progressBar.Value = 50;
            grid.LinkedControls.Add(new SourceGrid.LinkedControlValue(progressBar, new SourceGrid.Position(currentRow, 1)));

            currentRow++;

            //Custom Border Cell
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Custom Border");
            grid[currentRow, 0].View = captionModel;

            SourceGrid.Cells.Views.Cell viewCustomBorder = new SourceGrid.Cells.Views.Cell();
            viewCustomBorder.Border = new DevAge.Drawing.RectangleBorder(new DevAge.Drawing.BorderLine(Color.Red, 1),
                                                                         new DevAge.Drawing.BorderLine(Color.Blue, 1),
                                                                         new DevAge.Drawing.BorderLine(Color.Violet, 1),
                                                                         new DevAge.Drawing.BorderLine(Color.Green, 1));
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell("Custom Border");
            grid[currentRow, 1].View = viewCustomBorder;

            currentRow++;
            #endregion

            #region Custom Formatting
            grid[currentRow, 0]            = new SourceGrid.Cells.Cell("Custom Formatting");
            grid[currentRow, 0].View       = titleModel;
            grid[currentRow, 0].ColumnSpan = 3;
            currentRow++;

            //Format
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Default Format");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246);
            SourceGrid.Cells.Editors.TextBox editorCustom = new SourceGrid.Cells.Editors.TextBox(typeof(double));
            editorCustom.TypeConverter = new DevAge.ComponentModel.Converter.CurrencyTypeConverter(typeof(double));
            DevAge.ComponentModel.Converter.NumberTypeConverter numberFormatCustom = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double));
            editorCustom.TypeConverter = numberFormatCustom;
            grid[currentRow, 1].Editor = editorCustom;

            currentRow++;

            //Percent Editor
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Percent Format");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246);
            SourceGrid.Cells.Editors.TextBox l_PercentEditor = new SourceGrid.Cells.Editors.TextBox(typeof(double));
            l_PercentEditor.TypeConverter = new DevAge.ComponentModel.Converter.PercentTypeConverter(typeof(double));
            grid[currentRow, 1].Editor    = l_PercentEditor;

            currentRow++;

            //Currency Editor
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Currency Format");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246M);
            SourceGrid.Cells.Editors.TextBox l_CurrencyEditor = new SourceGrid.Cells.Editors.TextBox(typeof(decimal));
            l_CurrencyEditor.TypeConverter = new DevAge.ComponentModel.Converter.CurrencyTypeConverter(typeof(decimal));
            grid[currentRow, 1].Editor     = l_CurrencyEditor;

            currentRow++;

            //Format (#.00)
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Format #.00");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(88.5246);
            editorCustom               = new SourceGrid.Cells.Editors.TextBox(typeof(double));
            numberFormatCustom         = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double));
            numberFormatCustom.Format  = "#.00";
            editorCustom.TypeConverter = numberFormatCustom;
            grid[currentRow, 1].Editor = editorCustom;

            currentRow++;

            //Format ("0000.0000")
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Format 0000.0000");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(88.5246);
            editorCustom               = new SourceGrid.Cells.Editors.TextBox(typeof(double));
            numberFormatCustom         = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double));
            numberFormatCustom.Format  = "0000.0000";
            editorCustom.TypeConverter = numberFormatCustom;
            grid[currentRow, 1].Editor = editorCustom;

            currentRow++;

            //Format ("Scientific (exponential)")
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Format Scientific");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1] = new SourceGrid.Cells.Cell(0.0006);
            SourceGrid.Cells.Editors.TextBoxNumeric             editorExponential    = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(double));
            DevAge.ComponentModel.Converter.NumberTypeConverter exponentialConverter = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double), "e");
            exponentialConverter.NumberStyles = System.Globalization.NumberStyles.Float | System.Globalization.NumberStyles.AllowExponent;
            editorExponential.TypeConverter   = exponentialConverter;
            grid[currentRow, 1].Editor        = editorExponential;

            currentRow++;

            //DateTime 2 (using custom formatting)
            string dtFormat2 = "yyyy MM dd";
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Date(" + dtFormat2 + ")");
            grid[currentRow, 0].View = captionModel;

            string[] dtParseFormats = new string[] { dtFormat2 };
            System.Globalization.DateTimeStyles dtStyles = System.Globalization.DateTimeStyles.AllowInnerWhite | System.Globalization.DateTimeStyles.AllowLeadingWhite | System.Globalization.DateTimeStyles.AllowTrailingWhite | System.Globalization.DateTimeStyles.AllowWhiteSpaces;
            TypeConverter dtConverter = new DevAge.ComponentModel.Converter.DateTimeTypeConverter(dtFormat2, dtParseFormats, dtStyles);
            SourceGrid.Cells.Editors.TextBoxUITypeEditor editorDt2 = new SourceGrid.Cells.Editors.TextBoxUITypeEditor(typeof(DateTime));
            editorDt2.TypeConverter = dtConverter;

            grid[currentRow, 1]        = new SourceGrid.Cells.Cell(DateTime.Today);
            grid[currentRow, 1].Editor = editorDt2;

            currentRow++;


            //Text Ellipses
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Text Ellipses");
            grid[currentRow, 0].View = captionModel;

            grid[currentRow, 1] = new SourceGrid.Cells.Cell("This text is very very long and shows how to trim and add ellipses", typeof(string));
            SourceGrid.Cells.Views.Cell ellipsesView = new SourceGrid.Cells.Views.Cell();
            ellipsesView.TrimmingMode = SourceGrid.TrimmingMode.Word;
            grid[currentRow, 1].View  = ellipsesView;

            currentRow++;

            #endregion

            #region Image And Text Properties
            grid[currentRow, 0]            = new SourceGrid.Cells.Cell("Image And Text Properties");
            grid[currentRow, 0].View       = titleModel;
            grid[currentRow, 0].ColumnSpan = 3;
            currentRow++;

            //Cell Image
            SourceGrid.Cells.Cell       cellImage1 = new SourceGrid.Cells.Cell("Single Image");
            SourceGrid.Cells.Views.Cell viewImage  = new SourceGrid.Cells.Views.Cell(captionModel);
            cellImage1.View     = viewImage;
            grid[currentRow, 2] = cellImage1;
            cellImage1.RowSpan  = 4;
            cellImage1.Image    = Properties.Resources.FACE02.ToBitmap();

            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Image Alignment");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(viewImage.ImageAlignment, typeof(DevAge.Drawing.ContentAlignment));
            grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("ImageAlignment"), viewImage));

            currentRow++;

            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Stretch Image");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(viewImage.ImageStretch, typeof(bool));
            grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("ImageStretch"), viewImage));

            currentRow++;

            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Text Alignment");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(viewImage.TextAlignment, typeof(DevAge.Drawing.ContentAlignment));
            grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("TextAlignment"), viewImage));

            currentRow++;

            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("DrawMode");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell(viewImage.ElementsDrawMode, typeof(DevAge.Drawing.ElementsDrawMode));
            grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("ElementsDrawMode"), viewImage));

            currentRow++;


            // Cell VisualModelMultiImages
            grid[currentRow, 1] = new SourceGrid.Cells.Cell("Multi Images");
            SourceGrid.Cells.Views.MultiImages modelMultiImages = new SourceGrid.Cells.Views.MultiImages();
            modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE00.ToBitmap()));
            modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE01.ToBitmap()));
            modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE02.ToBitmap()));
            modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE04.ToBitmap()));
            modelMultiImages.SubImages[0].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.TopLeft, false);
            modelMultiImages.SubImages[1].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.TopRight, false);
            modelMultiImages.SubImages[2].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.BottomLeft, false);
            modelMultiImages.SubImages[3].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.BottomRight, false);
            modelMultiImages.TextAlignment           = DevAge.Drawing.ContentAlignment.MiddleCenter;
            grid[currentRow, 1].View           = modelMultiImages;
            grid.Rows[currentRow].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize;
            grid.Rows[currentRow].Height       = 50;

            currentRow++;


            // Cell Rotated Text
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("Rotated by angle");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell("Rotated Text", typeof(string));
            SourceGrid.Cells.Views.Cell rotateView = new SourceGrid.Cells.Views.Cell();
            rotateView.ElementText             = new RotatedText(45);
            grid[currentRow, 1].View           = rotateView;
            grid.Rows[currentRow].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize;
            grid.Rows[currentRow].Height       = 50;

            currentRow++;

            // GDI+ Text
            grid[currentRow, 0]      = new SourceGrid.Cells.Cell("GDI+ Text");
            grid[currentRow, 0].View = captionModel;
            grid[currentRow, 1]      = new SourceGrid.Cells.Cell("Hello from GDI+", typeof(string));
            GDITextView gdiTextView = new GDITextView();
            gdiTextView.FormatFlags  = StringFormatFlags.DirectionVertical | StringFormatFlags.NoWrap;
            grid[currentRow, 1].View = gdiTextView;

            currentRow++;
            #endregion


            grid.Columns[0].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default;
            grid.Columns[1].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default;
            grid.Columns[2].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default;
            grid.MinimumWidth            = 50;
            grid.AutoSizeCells();
            grid.AutoStretchColumnsToFitWidth = true;
            grid.Columns.StretchToFit();
        }
Пример #14
0
 private void CellButton_Click(object sender, EventArgs e)
 {
     SourceGrid.CellContext  context = (SourceGrid.CellContext)sender;
     SourceGrid.Cells.Button btnCell = (SourceGrid.Cells.Button)context.Cell;
     btnCell.Value = DateTime.Now.TimeOfDay.ToString();
 }
Пример #15
0
        private void DoFull()
        {
            grid1.Redim(20, 12);
            grid1.FixedRows = 2;

            //1 Header Row
            grid1[0, 0]            = new MyHeader("3 Column Header");
            grid1[0, 0].ColumnSpan = 3;
            grid1[0, 3]            = new MyHeader("5 Column Header");
            grid1[0, 3].ColumnSpan = 5;
            grid1[0, 8]            = new MyHeader("1 Column Header");
            grid1[0, 9]            = new MyHeader("1 Column Header");

            //2 Header Row
            grid1[1, 0]  = new MyHeader("1");
            grid1[1, 1]  = new MyHeader("2");
            grid1[1, 2]  = new MyHeader("3");
            grid1[1, 3]  = new MyHeader("4");
            grid1[1, 4]  = new MyHeader("5");
            grid1[1, 5]  = new MyHeader("6");
            grid1[1, 6]  = new MyHeader("7");
            grid1[1, 7]  = new MyHeader("8");
            grid1[1, 8]  = new MyHeader("9");
            grid1[1, 9]  = new MyHeader("10");
            grid1[1, 10] = new MyHeader("11");
            grid1[1, 11] = new MyHeader("12");

            SourceGrid.Cells.Views.Cell viewImage = new SourceGrid.Cells.Views.Cell();

            SourceGrid.Cells.Controllers.CustomEvents clickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
            clickEvent.Click += new EventHandler(clickEvent_Click);

            for (int r = 2; r < grid1.RowsCount; r = r + 2)
            {
                grid1[r, 0]            = new SourceGrid.Cells.Cell(r.ToString(), typeof(string));
                grid1[r, 0].ColumnSpan = 2;

                grid1[r + 1, 0]            = new SourceGrid.Cells.Cell();
                grid1[r + 1, 0].ColumnSpan = 2;

                grid1[r, 2]            = new SourceGrid.Cells.CheckBox("CheckBox Column/Row Span", false);
                grid1[r, 2].ColumnSpan = 2;
                grid1[r, 2].RowSpan    = 2;

                grid1[r, 4]            = new SourceGrid.Cells.Link("Link Column/Row Span");
                grid1[r, 4].ColumnSpan = 2;
                grid1[r, 4].RowSpan    = 2;
                grid1[r, 4].AddController(clickEvent);

                grid1[r, 6]            = new SourceGrid.Cells.Button("Button Column/Row Span");
                grid1[r, 6].ColumnSpan = 2;
                grid1[r, 6].RowSpan    = 2;
                grid1[r, 6].AddController(clickEvent);

                grid1[r, 8]            = new SourceGrid.Cells.Cell("Image Column/Row Span");
                grid1[r, 8].View       = viewImage;
                grid1[r, 8].Image      = Properties.Resources.FACE02.ToBitmap();
                grid1[r, 8].ColumnSpan = 2;
                grid1[r, 8].RowSpan    = 2;

                grid1[r, 10]            = new SourceGrid.Cells.Cell("Text Span", typeof(string));
                grid1[r, 10].ColumnSpan = 2;
                grid1[r, 10].RowSpan    = 2;
            }

            grid1.ClipboardMode = SourceGrid.ClipboardMode.All;
            grid1.AutoSizeCells();
        }
Пример #16
0
		protected override void OnLoad(EventArgs e)
		{
			base.OnLoad(e);

			grid.Redim(62, 3);

			SourceGrid.Cells.Views.Cell titleModel = new SourceGrid.Cells.Views.Cell();
			titleModel.BackColor = Color.SteelBlue;
			titleModel.ForeColor = Color.White;
			titleModel.TextAlignment = DevAge.Drawing.ContentAlignment.MiddleCenter;
			SourceGrid.Cells.Views.Cell captionModel = new SourceGrid.Cells.Views.Cell();
			captionModel.BackColor = grid.BackColor;

			int currentRow = 0;

			#region Base Types
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Base Types");
			grid[currentRow, 0].View = titleModel;
			grid[currentRow, 0].ColumnSpan = 3;
			currentRow++;

			//string
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("String");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("String Value", typeof(string));

			currentRow++;

			//double
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Double");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(1.5, typeof(double));

			currentRow++;

			//int
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Int");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(5, typeof(int));

			currentRow++;

			//DateTime
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("DateTime");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(DateTime.Now, typeof(DateTime));

			currentRow++;

			//Boolean
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Boolean");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(true, typeof(Boolean));

			currentRow++;
			#endregion

			#region Complex Types
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Complex Types");
			grid[currentRow, 0].View = titleModel;
			grid[currentRow, 0].ColumnSpan = 3;
			currentRow++;

			//Font
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Font");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(this.Font, typeof(Font));

			currentRow++;

			//Cursor
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Cursor");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(Cursors.Arrow, typeof(Cursor));

			currentRow++;

			//Point
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Point");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(new Point(2, 3), typeof(Point));

			currentRow++;

			//Rectangle
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Rectangle");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(new Rectangle(100, 100, 200, 200), typeof(Rectangle));

			currentRow++;

			//Image
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Image");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Image(Properties.Resources.CalcioSmall);

			currentRow++;

			//Enum AnchorStyle
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("AnchorStyle");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(AnchorStyles.Bottom, typeof(AnchorStyles));

			currentRow++;

			//Enum
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Enum");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(System.Windows.Forms.BorderStyle.Fixed3D, typeof(System.Windows.Forms.BorderStyle));

			currentRow++;

			//String[]
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("String Array");
			grid[currentRow, 0].View = captionModel;
			string[] strArray = new string[] { "Value 1", "Value 2" };
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(strArray, typeof(string[]));

			currentRow++;

			//Double[]
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Double Array");
			grid[currentRow, 0].View = captionModel;
			double[] dblArray = new double[] { 1, 0.5, 0.1 };
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(dblArray, typeof(double[]));

			currentRow++;
			#endregion

			#region Special Editors
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Special Editors");
			grid[currentRow, 0].View = titleModel;
			grid[currentRow, 0].ColumnSpan = 3;
			currentRow++;

			//Time
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Time");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(DateTime.Now);
			grid[currentRow, 1].Editor = new SourceGrid.Cells.Editors.TimePicker();

			currentRow++;

			//Double Chars Validation
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Double Chars Validation");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.TextBoxNumeric numericEditor = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(double));
			numericEditor.KeyPress += delegate(object sender, KeyPressEventArgs keyArgs)
			{
				bool isValid = char.IsNumber(keyArgs.KeyChar) ||
					keyArgs.KeyChar == System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator[0];

				keyArgs.Handled = !isValid;
			};
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(0.5);
			grid[currentRow, 1].Editor = numericEditor;

			currentRow++;

			//String Chars (ABC)
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Chars Validation(only ABC)");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.TextBox stringEditor = new SourceGrid.Cells.Editors.TextBox(typeof(string));
			stringEditor.KeyPress += delegate(object sender, KeyPressEventArgs keyArgs)
			{
				keyArgs.KeyChar = char.ToUpper(keyArgs.KeyChar);
				bool isValid = keyArgs.KeyChar == 'A' || keyArgs.KeyChar == 'B' || keyArgs.KeyChar == 'C';

				keyArgs.Handled = !isValid;
			};
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("AABB");
			grid[currentRow, 1].Editor = stringEditor;

			currentRow++;

			//String Validating
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("String validating(min 6 chars)");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.TextBox stringEditorValidating = new SourceGrid.Cells.Editors.TextBox(typeof(string));
			stringEditorValidating.Control.Validating += delegate(object sender, CancelEventArgs cancelEvent)
			{
				string val = ((TextBox)sender).Text;
				if (val == null || val.Length < 6)
					cancelEvent.Cancel = true;
			};
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("test string");
			grid[currentRow, 1].Editor = stringEditorValidating;

			currentRow++;

			//Int 0-100 or null
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Int 0-100 or null");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.TextBoxNumeric numericEditor0_100 = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(int));
			numericEditor0_100.MinimumValue = 0;
			numericEditor0_100.MaximumValue = 100;
			numericEditor0_100.AllowNull = true;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(7);
			grid[currentRow, 1].Editor = numericEditor0_100;

			currentRow++;

			//Double Custom Conversion
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Dbl custom conversion");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.TextBox dblCustomConversion = new SourceGrid.Cells.Editors.TextBox(typeof(double));
			dblCustomConversion.ConvertingObjectToValue += delegate(object sender,
			                                                        DevAge.ComponentModel.ConvertingObjectEventArgs conv)
			{
				if (conv.Value is string)
				{
					//Here you can add any custom code
					double val;
					if (double.TryParse((string)conv.Value, out val))
					{
						conv.Value = val;
						conv.ConvertingStatus = DevAge.ComponentModel.ConvertingStatus.Completed;
					}
				}
			};
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(73.839);
			grid[currentRow, 1].Editor = dblCustomConversion;

			currentRow++;

			//Enum Custom Display
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Enum Custom Display");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.ComboBox keysCombo = new SourceGrid.Cells.Editors.ComboBox(typeof(Keys));
			keysCombo.Control.FormattingEnabled = true;
			keysCombo.ConvertingValueToDisplayString += delegate(object sender, DevAge.ComponentModel.ConvertingObjectEventArgs convArgs)
			{
				if (convArgs.Value is Keys)
					convArgs.Value = (int)((Keys)convArgs.Value) + " - " + convArgs.Value.ToString();
			};
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(Keys.Enter);
			grid[currentRow, 1].Editor = keysCombo;

			currentRow++;

			string[] arraySample = new string[] { "Value 1", "Value 2", "Value 3" };
			//ComboBox 1
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("ComboBox String");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.ComboBox comboStandard = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, false);
			comboStandard.Control.MaxLength = 10;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(arraySample[0], comboStandard);

			currentRow++;

			//ComboBox exclusive
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("ComboBox String Exclusive");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.ComboBox comboExclusive = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, true);
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(arraySample[0], comboExclusive);

			currentRow++;

			//ComboBox AutoComplete
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("ComboBox AutoComplete");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.ComboBox comboAutoComplete =
				new SourceGrid.Cells.Editors.ComboBox(typeof(string),
				                                      new string[] { "AAA", "ABC", "AZA", "BAA", "ZAA" },
				                                      true);
			comboAutoComplete.Control.AutoCompleteSource = AutoCompleteSource.ListItems;
			comboAutoComplete.Control.AutoCompleteMode = AutoCompleteMode.Append;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("AAA", comboAutoComplete);

			currentRow++;

			//ComboBox DropDownList
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("ComboBox DropDownList");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.ComboBox comboNoText = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, true);
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(arraySample[0]);
			grid[currentRow, 1].Editor = comboNoText;
			comboNoText.Control.DropDownStyle = ComboBoxStyle.DropDownList;

			currentRow++;

			//ComboBox DateTime Editable
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("ComboBox DateTime");
			grid[currentRow, 0].View = captionModel;
			DateTime[] arrayDt = new DateTime[] { new DateTime(1981, 10, 6), new DateTime(1991, 10, 6), new DateTime(2001, 10, 6) };
			SourceGrid.Cells.Editors.ComboBox comboDateTime = new SourceGrid.Cells.Editors.ComboBox(typeof(DateTime), arrayDt, false);
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(arrayDt[0], comboDateTime);

			currentRow++;

			//ComboBox Custom Display (create a datamodel that has a custom display string)
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("ComboBox Custom Display");
			grid[currentRow, 0].View = captionModel;
			int[] arrInt = new int[] { 0, 1, 2, 3, 4 };
			string[] arrStr = new string[] { "0 - Zero", "1 - One", "2 - Two", "3 - Three", "4- Four" };
			SourceGrid.Cells.Editors.ComboBox editorComboCustomDisplay = new SourceGrid.Cells.Editors.ComboBox(typeof(int), arrInt, true);
			editorComboCustomDisplay.Control.FormattingEnabled = true;
			DevAge.ComponentModel.Validator.ValueMapping comboMapping = new DevAge.ComponentModel.Validator.ValueMapping();
			comboMapping.DisplayStringList = arrStr;
			comboMapping.ValueList = arrInt;
			comboMapping.SpecialList = arrStr;
			comboMapping.SpecialType = typeof(string);
			comboMapping.BindValidator(editorComboCustomDisplay);
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(0);
			grid[currentRow, 1].Editor = editorComboCustomDisplay;

			SourceGrid.Cells.Cell l_CellComboRealValue = new SourceGrid.Cells.Cell(grid[currentRow, 1].Value);
			l_CellComboRealValue.View = captionModel;
			SourceGrid.Cells.Controllers.BindProperty l_ComboBindProperty = new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Cell).GetProperty("Value"), l_CellComboRealValue);
			grid[currentRow, 1].AddController(l_ComboBindProperty);
			grid[currentRow, 2] = l_CellComboRealValue;

			currentRow++;

			//ComboBox with inline View
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("ComboBox Inline View");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.ComboBox cbInline = new SourceGrid.Cells.Editors.ComboBox(typeof(string), arraySample, false);
			cbInline.EditableMode = SourceGrid.EditableMode.Default | SourceGrid.EditableMode.Focus;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(arraySample[0], cbInline);
			grid[currentRow, 1].View = SourceGrid.Cells.Views.ComboBox.Default;

			currentRow++;

			//Numeric Up Down Editor
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("NumericUpDown");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(0);
			SourceGrid.Cells.Editors.NumericUpDown l_NumericUpDownEditor = new SourceGrid.Cells.Editors.NumericUpDown(typeof(int), 50, -50, 1);
			grid[currentRow, 1].Editor = l_NumericUpDownEditor;

			currentRow++;

			//Multiline Textbox
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Multiline Textbox");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 0].ColumnSpan = 1;
			grid[currentRow, 0].RowSpan = 2;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell("Hello\r\nWorld");
			SourceGrid.Cells.Editors.TextBox l_MultilineEditor = new SourceGrid.Cells.Editors.TextBox(typeof(string));
			l_MultilineEditor.Control.Multiline = true;
			grid[currentRow, 1].Editor = l_MultilineEditor;
			grid[currentRow, 1].RowSpan = 2;

			currentRow++;
			currentRow++;

			//Boolean (CheckBox)
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Boolean (CheckBox)");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.CheckBox(null, true);
			grid[currentRow, 1].FindController<SourceGrid.Cells.Controllers.CheckBox>().CheckedChanged += InvertDisabledCheckBox(currentRow);
			

			SourceGrid.Cells.CheckBox l_DisabledCheckBox = new SourceGrid.Cells.CheckBox("Disabled Checkbox", true);
			l_DisabledCheckBox.Editor.EnableEdit = false;
			grid[currentRow, 2] = l_DisabledCheckBox;

			currentRow++;

			//DateTime with DateTimePicker Editor
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("DateTimePicker");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.DateTimePicker editorDtPicker = new SourceGrid.Cells.Editors.DateTimePicker();
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(DateTime.Today);
			grid[currentRow, 1].Editor = editorDtPicker;

			currentRow++;

			//DateTime with DateTimePicker nullable Editor
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("DateTimePicker nullable");
			grid[currentRow, 0].View = captionModel;
			SourceGrid.Cells.Editors.DateTimePicker editorDtPickerNull = new SourceGrid.Cells.Editors.DateTimePicker();
			editorDtPickerNull.AllowNull = true;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(null);
			grid[currentRow, 1].Editor = editorDtPickerNull;

			currentRow++;

			//File editor
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("File editor");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("c:\\windows\\System32\\user32.dll", new EditorFileDialog());

			currentRow++;
			
			// Richtext box
            grid[currentRow, 0] = new SourceGrid.Cells.Cell("RichTextBox editor");
            grid[currentRow, 0].View = captionModel;
            string rtf = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0" +
                    "Microsoft Sans Serif;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs17 Only a \\b " +
                    "Test\\b0.\\par\r\n}\r\n";
			var richTextBox = new SourceGrid.Cells.RichTextBox(new RichText(rtf));
			grid[currentRow, 1] = richTextBox;

			currentRow++;

			#endregion

			#region Special Cells
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Special Cells");
			grid[currentRow, 0].View = titleModel;
			grid[currentRow, 0].ColumnSpan = 3;
			currentRow++;

			//Cell Button
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Cell Button");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Button("CellButton");
			grid[currentRow, 1].Image = Properties.Resources.FACE02.ToBitmap();
			SourceGrid.Cells.Controllers.Button buttonClickEvent = new SourceGrid.Cells.Controllers.Button();
			buttonClickEvent.Executed += new EventHandler(CellButton_Click);
			grid[currentRow, 1].Controller.AddController(buttonClickEvent);

			currentRow++;

			//Cell Link
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Cell Link");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Link("CellLink");
			SourceGrid.Cells.Controllers.Button linkClickEvent = new SourceGrid.Cells.Controllers.Button();
			linkClickEvent.Executed += new EventHandler(CellLink_Click);
			grid[currentRow, 1].Controller.AddController(linkClickEvent);

			currentRow++;

			//Custom draw cell
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Custom draw cell");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("CustomView");
			grid[currentRow, 1].View = new RoundView();

			currentRow++;

			//Control Cell
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Control Cell");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("control cell");
			ProgressBar progressBar = new ProgressBar();
			progressBar.Value = 50;
			grid.LinkedControls.Add(new SourceGrid.LinkedControlValue(progressBar, new SourceGrid.Position(currentRow, 1)));

			currentRow++;

			//Custom Border Cell
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Custom Border");
			grid[currentRow, 0].View = captionModel;

			SourceGrid.Cells.Views.Cell viewCustomBorder = new SourceGrid.Cells.Views.Cell();
			viewCustomBorder.Border = new DevAge.Drawing.RectangleBorder(new DevAge.Drawing.BorderLine(Color.Red, 1),
			                                                             new DevAge.Drawing.BorderLine(Color.Blue, 1),
			                                                             new DevAge.Drawing.BorderLine(Color.Violet, 1),
			                                                             new DevAge.Drawing.BorderLine(Color.Green, 1));
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("Custom Border");
			grid[currentRow, 1].View = viewCustomBorder;

			currentRow++;
			#endregion

			#region Custom Formatting
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Custom Formatting");
			grid[currentRow, 0].View = titleModel;
			grid[currentRow, 0].ColumnSpan = 3;
			currentRow++;

			//Format
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Default Format");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246);
			SourceGrid.Cells.Editors.TextBox editorCustom = new SourceGrid.Cells.Editors.TextBox(typeof(double));
			editorCustom.TypeConverter = new DevAge.ComponentModel.Converter.CurrencyTypeConverter(typeof(double));
			DevAge.ComponentModel.Converter.NumberTypeConverter numberFormatCustom = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double));
			editorCustom.TypeConverter = numberFormatCustom;
			grid[currentRow, 1].Editor = editorCustom;

			currentRow++;

			//Percent Editor
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Percent Format");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246);
			SourceGrid.Cells.Editors.TextBox l_PercentEditor = new SourceGrid.Cells.Editors.TextBox(typeof(double));
			l_PercentEditor.TypeConverter = new DevAge.ComponentModel.Converter.PercentTypeConverter(typeof(double));
			grid[currentRow, 1].Editor = l_PercentEditor;

			currentRow++;

			//Currency Editor
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Currency Format");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246M);
			SourceGrid.Cells.Editors.TextBox l_CurrencyEditor = new SourceGrid.Cells.Editors.TextBox(typeof(decimal));
			l_CurrencyEditor.TypeConverter = new DevAge.ComponentModel.Converter.CurrencyTypeConverter(typeof(decimal));
			grid[currentRow, 1].Editor = l_CurrencyEditor;

			currentRow++;

			//Format (#.00)
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Format #.00");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246);
			editorCustom = new SourceGrid.Cells.Editors.TextBox(typeof(double));
			numberFormatCustom = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double));
			numberFormatCustom.Format = "#.00";
			editorCustom.TypeConverter = numberFormatCustom;
			grid[currentRow, 1].Editor = editorCustom;

			currentRow++;

			//Format ("0000.0000")
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Format 0000.0000");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(88.5246);
			editorCustom = new SourceGrid.Cells.Editors.TextBox(typeof(double));
			numberFormatCustom = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double));
			numberFormatCustom.Format = "0000.0000";
			editorCustom.TypeConverter = numberFormatCustom;
			grid[currentRow, 1].Editor = editorCustom;

			currentRow++;

			//Format ("Scientific (exponential)")
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Format Scientific");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(0.0006);
			SourceGrid.Cells.Editors.TextBoxNumeric editorExponential = new SourceGrid.Cells.Editors.TextBoxNumeric(typeof(double));
			DevAge.ComponentModel.Converter.NumberTypeConverter exponentialConverter = new DevAge.ComponentModel.Converter.NumberTypeConverter(typeof(double), "e");
			exponentialConverter.NumberStyles = System.Globalization.NumberStyles.Float | System.Globalization.NumberStyles.AllowExponent;
			editorExponential.TypeConverter = exponentialConverter;
			grid[currentRow, 1].Editor = editorExponential;

			currentRow++;

			//DateTime 2 (using custom formatting)
			string dtFormat2 = "yyyy MM dd";
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Date(" + dtFormat2 + ")");
			grid[currentRow, 0].View = captionModel;

			string[] dtParseFormats = new string[] { dtFormat2 };
			System.Globalization.DateTimeStyles dtStyles = System.Globalization.DateTimeStyles.AllowInnerWhite | System.Globalization.DateTimeStyles.AllowLeadingWhite | System.Globalization.DateTimeStyles.AllowTrailingWhite | System.Globalization.DateTimeStyles.AllowWhiteSpaces;
			TypeConverter dtConverter = new DevAge.ComponentModel.Converter.DateTimeTypeConverter(dtFormat2, dtParseFormats, dtStyles);
			SourceGrid.Cells.Editors.TextBoxUITypeEditor editorDt2 = new SourceGrid.Cells.Editors.TextBoxUITypeEditor(typeof(DateTime));
			editorDt2.TypeConverter = dtConverter;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell(DateTime.Today);
			grid[currentRow, 1].Editor = editorDt2;

			currentRow++;


			//Text Ellipses
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Text Ellipses");
			grid[currentRow, 0].View = captionModel;

			grid[currentRow, 1] = new SourceGrid.Cells.Cell("This text is very very long and shows how to trim and add ellipses", typeof(string));
			SourceGrid.Cells.Views.Cell ellipsesView = new SourceGrid.Cells.Views.Cell();
			ellipsesView.TrimmingMode = SourceGrid.TrimmingMode.Word;
			grid[currentRow, 1].View = ellipsesView;

			currentRow++;

			#endregion

			#region Image And Text Properties
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Image And Text Properties");
			grid[currentRow, 0].View = titleModel;
			grid[currentRow, 0].ColumnSpan = 3;
			currentRow++;

			//Cell Image
			SourceGrid.Cells.Cell cellImage1 = new SourceGrid.Cells.Cell("Single Image");
			SourceGrid.Cells.Views.Cell viewImage = new SourceGrid.Cells.Views.Cell(captionModel);
			cellImage1.View = viewImage;
			grid[currentRow, 2] = cellImage1;
			cellImage1.RowSpan = 4;
			cellImage1.Image = Properties.Resources.FACE02.ToBitmap();

			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Image Alignment");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(viewImage.ImageAlignment, typeof(DevAge.Drawing.ContentAlignment));
			grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("ImageAlignment"), viewImage));

			currentRow++;

			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Stretch Image");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(viewImage.ImageStretch, typeof(bool));
			grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("ImageStretch"), viewImage));

			currentRow++;

			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Text Alignment");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(viewImage.TextAlignment, typeof(DevAge.Drawing.ContentAlignment));
			grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("TextAlignment"), viewImage));

			currentRow++;

			grid[currentRow, 0] = new SourceGrid.Cells.Cell("DrawMode");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell(viewImage.ElementsDrawMode, typeof(DevAge.Drawing.ElementsDrawMode));
			grid[currentRow, 1].AddController(new SourceGrid.Cells.Controllers.BindProperty(typeof(SourceGrid.Cells.Views.Cell).GetProperty("ElementsDrawMode"), viewImage));

			currentRow++;


			// Cell VisualModelMultiImages
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("Multi Images");
			SourceGrid.Cells.Views.MultiImages modelMultiImages = new SourceGrid.Cells.Views.MultiImages();
			modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE00.ToBitmap()));
			modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE01.ToBitmap()));
			modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE02.ToBitmap()));
			modelMultiImages.SubImages.Add(new DevAge.Drawing.VisualElements.Image(Properties.Resources.FACE04.ToBitmap()));
			modelMultiImages.SubImages[0].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.TopLeft, false);
			modelMultiImages.SubImages[1].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.TopRight, false);
			modelMultiImages.SubImages[2].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.BottomLeft, false);
			modelMultiImages.SubImages[3].AnchorArea = new DevAge.Drawing.AnchorArea(DevAge.Drawing.ContentAlignment.BottomRight, false);
			modelMultiImages.TextAlignment = DevAge.Drawing.ContentAlignment.MiddleCenter;
			grid[currentRow, 1].View = modelMultiImages;
			grid.Rows[currentRow].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize;
			grid.Rows[currentRow].Height = 50;

			currentRow++;


			// Cell Rotated Text
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("Rotated by angle");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("Rotated Text", typeof(string));
			SourceGrid.Cells.Views.Cell rotateView = new SourceGrid.Cells.Views.Cell();
			rotateView.ElementText = new RotatedText(45);
			grid[currentRow, 1].View = rotateView;
			grid.Rows[currentRow].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize;
			grid.Rows[currentRow].Height = 50;

			currentRow++;

			// GDI+ Text
			grid[currentRow, 0] = new SourceGrid.Cells.Cell("GDI+ Text");
			grid[currentRow, 0].View = captionModel;
			grid[currentRow, 1] = new SourceGrid.Cells.Cell("Hello from GDI+", typeof(string));
			GDITextView gdiTextView = new GDITextView();
			gdiTextView.FormatFlags = StringFormatFlags.DirectionVertical | StringFormatFlags.NoWrap;
			grid[currentRow, 1].View = gdiTextView;

			currentRow++;
			#endregion


			grid.Columns[0].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default;
			grid.Columns[1].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default;
			grid.Columns[2].AutoSizeMode = SourceGrid.AutoSizeMode.MinimumSize | SourceGrid.AutoSizeMode.Default;
			grid.MinimumWidth = 50;
			grid.AutoSizeCells();
			grid.AutoStretchColumnsToFitWidth = true;
			grid.Columns.StretchToFit();
		}
Пример #17
0
 public void DoFill(List<PriceCate> list)
 {
     PriceCateGrid.Redim(0, 0);
     PriceCateGrid.FixedRows = 1;
     PriceCateGrid.FixedColumns = 1;
     PriceCateGrid.EnableSort = true;
     PriceCateGrid.Redim(list.Count + 1, 7);
     PriceCateGrid.Rows[0].Height = 25;
     PriceCateGrid[0, 0] = new MyHeader("描述");
     PriceCateGrid[0, 0].Column.Width = 200;
     PriceCateGrid[0, 0].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     PriceCateGrid[0, 1] = new MyHeader("价格1");
     PriceCateGrid[0, 1].Column.Width = 150;
     PriceCateGrid[0, 1].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     PriceCateGrid[0, 2] = new MyHeader("价格2");
     PriceCateGrid[0, 2].Column.Width = 150;
     PriceCateGrid[0, 2].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     PriceCateGrid[0, 3] = new MyHeader("价格3");
     PriceCateGrid[0, 3].Column.Width = 150;
     PriceCateGrid[0, 3].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     PriceCateGrid[0, 4] = new MyHeader("价格4");
     PriceCateGrid[0, 4].Column.Width = 150;
     PriceCateGrid[0, 4].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     PriceCateGrid[0, 5] = new MyHeader("价格5");
     PriceCateGrid[0, 5].Column.Width = 150;
     PriceCateGrid[0, 5].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     PriceCateGrid[0, 6] = new MyHeader("状态");
     PriceCateGrid[0, 6].Column.Width = 80;
     PriceCateGrid[0, 6].AddController(new SourceGrid.Cells.Controllers.SortableHeader());
     SourceGrid.Cells.Controllers.CustomEvents clickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
     clickEvent.DoubleClick += new EventHandler(dbClickEvent_Click);
     int r = 1;
     foreach (PriceCate item in list)
     {
         PriceCateGrid.Rows[r].Tag = item.Id;
         PriceCateGrid.Rows[r].Height = 25;
         PriceCateGrid[r, 0] = new SourceGrid.Cells.Cell(item.CateName);
         PriceCateGrid[r, 0].AddController(clickEvent);
         string p1 = item.UsePrice1 ? item.Price1Name + ":  " + item.Price1Val : "";
         PriceCateGrid[r, 1] = new SourceGrid.Cells.Cell(p1);
         PriceCateGrid[r, 1].AddController(clickEvent);
         string p2 = item.UsePrice2 ? item.Price2Name + ":  " + item.Price2Val : "";
         PriceCateGrid[r, 2] = new SourceGrid.Cells.Cell(p2);
         PriceCateGrid[r, 2].AddController(clickEvent);
         string p3 = item.UsePrice3 ? item.Price3Name + ":  " + item.Price3Val : "";
         PriceCateGrid[r, 3] = new SourceGrid.Cells.Cell(p3);
         PriceCateGrid[r, 3].AddController(clickEvent);
         string p4 = item.UsePrice4 ? item.Price4Name + ":  " + item.Price4Val : "";
         PriceCateGrid[r, 4] = new SourceGrid.Cells.Cell(p4);
         PriceCateGrid[r, 4].AddController(clickEvent);
         string p5 = item.UsePrice5 ? item.Price5Name + ":  " + item.Price5Val : "";
         PriceCateGrid[r, 5] = new SourceGrid.Cells.Cell(p5);
         PriceCateGrid[r, 5].AddController(clickEvent);
         string status = item.Status == "A" ? "启用" : "未启用";
         PriceCateGrid[r, 6] = new SourceGrid.Cells.Button(status);
         PriceCateGrid[r, 6].AddController(clickEvent);
         r++;
     }
     PriceCateGrid.ClipboardMode = SourceGrid.ClipboardMode.All;
 }
Пример #18
0
		private void DoFull()
		{
			grid1.Redim(20, 12);
			grid1.FixedRows = 2;
			
			//1 Header Row
			grid1[0, 0] = new MyHeader("3 Column Header");
			grid1[0, 0].ColumnSpan = 3;
			grid1[0, 3] = new MyHeader("5 Column Header");
			grid1[0, 3].ColumnSpan = 5;
			grid1[0, 8] = new MyHeader("1 Column Header");
			grid1[0, 9] = new MyHeader("1 Column Header");

			//2 Header Row
			grid1[1, 0] = new MyHeader("1");
			grid1[1, 1] = new MyHeader("2");
			grid1[1, 2] = new MyHeader("3");
			grid1[1, 3] = new MyHeader("4");
			grid1[1, 4] = new MyHeader("5");
			grid1[1, 5] = new MyHeader("6");
			grid1[1, 6] = new MyHeader("7");
			grid1[1, 7] = new MyHeader("8");
			grid1[1, 8] = new MyHeader("9");
			grid1[1, 9] = new MyHeader("10");
			grid1[1, 10] = new MyHeader("11");
			grid1[1, 11] = new MyHeader("12");

			SourceGrid.Cells.Views.Cell viewImage = new SourceGrid.Cells.Views.Cell();

			SourceGrid.Cells.Controllers.CustomEvents clickEvent = new SourceGrid.Cells.Controllers.CustomEvents();
			clickEvent.Click += new EventHandler(clickEvent_Click);

			for (int r = 2; r < grid1.RowsCount; r=r+2)
			{
				grid1[r, 0] = new SourceGrid.Cells.Cell(r.ToString(), typeof(string));
				grid1[r, 0].ColumnSpan = 2;

				grid1[r+1, 0] = new SourceGrid.Cells.Cell();
				grid1[r+1, 0].ColumnSpan = 2;

				grid1[r, 2] = new SourceGrid.Cells.CheckBox("CheckBox Column/Row Span", false);
				grid1[r, 2].ColumnSpan = 2;
				grid1[r, 2].RowSpan = 2;

				grid1[r, 4] = new SourceGrid.Cells.Link("Link Column/Row Span");
				grid1[r, 4].ColumnSpan = 2;
				grid1[r, 4].RowSpan = 2;
				grid1[r, 4].AddController(clickEvent);

				grid1[r, 6] = new SourceGrid.Cells.Button("Button Column/Row Span");
				grid1[r, 6].ColumnSpan = 2;
				grid1[r, 6].RowSpan = 2;
				grid1[r, 6].AddController(clickEvent);

				grid1[r, 8] = new SourceGrid.Cells.Cell("Image Column/Row Span");
				grid1[r, 8].View = viewImage;
				grid1[r, 8].Image = Properties.Resources.FACE02.ToBitmap();
				grid1[r, 8].ColumnSpan = 2;
				grid1[r, 8].RowSpan = 2;
				
				grid1[r, 10] = new SourceGrid.Cells.Cell("Text Span", typeof(string));
				grid1[r, 10].ColumnSpan = 2;
				grid1[r, 10].RowSpan = 2;
			}

			grid1.ClipboardMode = SourceGrid.ClipboardMode.All;
			grid1.AutoSizeCells();
		}