示例#1
0
        public static ReoGridFullControl GetGridControl()
        {
            var ReoGridControl = new ReoGridFullControl(false);

            ReoGridControl.GridControl.bottomPanel.Visible = false;
            var stacks = ReoGridControl.Children.Where(x => x is StackLayout).ToList();

            foreach (var stack in stacks)
            {
                stack.Visible = false;
            }
            return(ReoGridControl);
        }
示例#2
0
        void Init()
        {
            Padding = new Eto.Drawing.Padding(10);

            gridcontrol = GridControl.GetGridControl();

            Extensions2.AddButtonWithLabel(this, "Reset/Rebuild Element Matrix", "Reset", (btn, e) => {
                greactor.CreateElementMatrix();
                Application.Instance.Invoke(() => Populate());
            });

            Extensions2.AddButtonWithLabel(this, "Update/Save Matrix Changes", "Save", (btn, e) => {
                Application.Instance.Invoke(() => Save());
            });

            this.Add(gridcontrol);

            Populate();
        }
        private void DisplayPage_DisplayData()
        {
            var page = new WizardPage();

            page.hasBackButton   = true;
            page.hasCancelButton = true;
            page.hasNextButton   = true;
            page.hasFinishButton = false;

            page.cancelAction = () =>
            {
                page.Close();
            };

            page.backAction = () =>
            {
                Application.Instance.Invoke(() => DisplayPage_LoadData());
                page.Close();
            };

            page.Title             = "Neural Network Model Wizard";
            page.HeaderTitle       = "Step 3 - Select Data";
            page.HeaderDescription = "Select the Data to Train/Test the ANN Model";
            page.FooterText        = "Click and Drag over the Cells to Select a Data Range and Click 'Next' to Continue.";

            var dl = c.GetDefaultContainer();

            dl.Width = Width;

            var ReoGridControl = new ReoGridFullControl(false)
            {
                Size = new Size(Width, Height)
            };

            ReoGridControl.GridControl.bottomPanel.Visible = false;
            var stacks = ReoGridControl.Children.Where(x => x is StackLayout).ToList();

            foreach (var stack in stacks)
            {
                stack.Visible = false;
            }

            dl.CreateAndAddControlRow(ReoGridControl);

            page.nextAction = () =>
            {
                page.Close();

                var sheet = ReoGridControl.GridControl.CurrentWorksheet;
                int firstcol, lastcol, firstrow, lastrow;
                firstcol = sheet.SelectionRange.Col;
                lastcol  = sheet.SelectionRange.EndCol;
                firstrow = sheet.SelectionRange.Row;
                lastrow  = sheet.SelectionRange.EndRow;
                double d;
                bool   hasheaders = !Double.TryParse(sheet.Cells[firstrow, firstcol].Data.ToString(), out d);

                CurrentModel.Parameters.Labels = new List <string>();
                CurrentModel.Data = new List <List <double> >();
                if (hasheaders)
                {
                    for (int i = firstcol; i <= lastcol; i++)
                    {
                        CurrentModel.Parameters.Labels.Add(sheet.Cells[firstrow, i].Data.ToString());
                    }
                    int counter = 0;
                    for (int i = firstrow + 1; i <= lastrow; i++)
                    {
                        CurrentModel.Data.Add(new List <double>());
                        for (int j = firstcol; j <= lastcol; j++)
                        {
                            CurrentModel.Data[counter].Add(sheet.Cells[i, j].Data.ToString().ToDoubleFromCurrent());
                        }
                        counter += 1;
                    }
                }
                else
                {
                    for (int i = firstcol; i <= lastcol; i++)
                    {
                        CurrentModel.Parameters.Labels.Add("Column" + i.ToString());
                    }
                    int counter = 0;
                    for (int i = firstrow; i <= lastrow; i++)
                    {
                        CurrentModel.Data.Add(new List <double>());
                        for (int j = firstcol; j <= lastcol; j++)
                        {
                            CurrentModel.Data[counter].Add(sheet.Cells[i, j].Data.ToString().ToDoubleFromCurrent());
                        }
                        counter += 1;
                    }
                }

                Application.Instance.Invoke(() => DisplayPage_LabelData());
            };

            page.Init(Width, Height);
            page.Topmost = false;

            page.ContentContainer.Add(dl);

            page.Show();

            if (File.Exists(CurrentModel.DataSourcePath))
            {
                DWSIM.UI.Forms.Forms.LoadingData f = null;
                f = new DWSIM.UI.Forms.Forms.LoadingData();
                f.loadingtext.Text = "Loading Data, Please Wait...";
                f.Title            = "Loading Data Source";
                f.Show();
                Application.Instance.AsyncInvoke(() =>
                {
                    try
                    {
                        ReoGridControl.GridControl.Load(CurrentModel.DataSourcePath);
                        ReoGridControl.GridControl.CurrentWorksheet.SetRows(ReoGridControl.GridControl.CurrentWorksheet.MaxContentRow);
                        ReoGridControl.GridControl.CurrentWorksheet.SetCols(ReoGridControl.GridControl.CurrentWorksheet.MaxContentCol);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString(), "Error reading data source", MessageBoxType.Error);
                    }
                    finally
                    {
                        f.Close();
                    }
                });
            }
            else
            {
                MessageBox.Show("You didn't select a data source to open. Please go back and try again.", "Error reading data source", MessageBoxType.Error);
            }
        }
示例#4
0
        public Spreadsheet(Flowsheet fs)
        {
            Columns.AddRange(new[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" });

            flowsheet = fs;
            scontrol  = new ReoGridFullControl();
            Sheet     = scontrol.GridControl;
            SetCustomFunctions();
            flowsheet.GetSpreadsheetObjectFunc = () => { return(Sheet); };
            Sheet.CurrentWorksheet.Name        = "MAIN";

            scontrol.ImportDataMenuItem.Click += (sender, e) =>
            {
                Application.Instance.Invoke(() =>
                {
                    var selector = new PropertySelector()
                    {
                        Flowsheet = flowsheet, ObjList = ObjList
                    };

                    selector.btnOK.Click += (sender2, e2) =>
                    {
                        var units = "";
                        if (selector.list4.SelectedValue != null)
                        {
                            units = selector.list4.SelectedValue.ToString();
                        }
                        Sheet.CurrentWorksheet.Cells[Sheet.CurrentWorksheet.SelectionRange.StartPos].Formula =
                            String.Format("GETPROPVAL({3}{1}{3}{0}{3}{2}{3}{0}{3}{4}{3})",
                                          ';',
                                          selector.list2.SelectedKey,
                                          selector.list3.SelectedKey,
                                          '"', units);

                        selector.Close();

                        Sheet.CurrentWorksheet.EndEdit(EndEditReason.Cancel);
                    };

                    selector.ShowModal();
                });
            };

            scontrol.ExportDataMenuItem.Click += (sender, e) =>
            {
                Application.Instance.Invoke(() =>
                {
                    var selector = new PropertySelector()
                    {
                        Flowsheet = flowsheet, ObjList = ObjList
                    };

                    selector.btnOK.Click += (sender2, e2) =>
                    {
                        var units = "";
                        if (selector.list4.SelectedValue != null)
                        {
                            units = selector.list4.SelectedValue.ToString();
                        }
                        var scell     = Sheet.CurrentWorksheet.Cells[Sheet.CurrentWorksheet.SelectionRange.StartPos];
                        var currdata  = scell.Formula == null ? scell.Data : scell.Formula;
                        scell.Formula = String.Format("SETPROPVAL({3}{1}{3}{0}{3}{2}{3}{0}{3}{4}{3}{0}{3}{5}{3})",
                                                      ';',
                                                      selector.list2.SelectedKey,
                                                      selector.list3.SelectedKey,
                                                      '"',
                                                      currdata, units);

                        selector.Close();

                        Sheet.CurrentWorksheet.EndEdit(EndEditReason.Cancel);
                    };

                    selector.ShowModal();
                });
            };

            scontrol.CreateChartMenuItem.Click += (sender, e) =>
            {
                Application.Instance.Invoke(() =>
                {
                    CreateChartFromRange(sender, e);
                });
            };
        }