Пример #1
0
        public PriceLoadDlg(string filePath)
        {
            this.Build();

            TabName = "Загрузка прайса (Шаг 1)";

            try
            {
                using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                {
                    wb = new XSSFWorkbook(fs);
                }
            }catch (IOException ex)
            {
                if (ex.HResult == -2147024864)
                {
                    MessageDialogWorks.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу.");
                    FailInitialize = true;
                    return;
                }
                throw ex;
            }

            var sheets = new List <string>();

            for (int s = 0; s < wb.NumberOfSheets; s++)
            {
                sheets.Add(wb.GetSheetName(s));
            }
            comboSheet.ItemsList = sheets;

            ytreeviewSetColumns.EnableGridLines  = Gtk.TreeViewGridLines.Both;
            ytreeviewSetColumns.HeadersClickable = true;
            SetColumnTypeMenu  = GtkMenuHelper.GenerateMenuFromEnum <ReadingXLSRow.ColumnType>(OnSetColumnHeaderMenuSelected);
            notebook1.ShowTabs = false;

            //Вкладка второго экрана
            ytreeviewParsing.ColumnsConfig = ColumnsConfigFactory.Create <ReadingXLSRow>()
                                             .AddColumn("Статус").Resizable().AddTextRenderer(x => x.Status.GetEnumTitle())
                                             .AddSetter((w, x) => w.Foreground = GetColorByStatus(x.Status))
                                             .AddColumn("Тип").Resizable().SetDataProperty(node => node.DispalyType)
                                             .AddColumn("Диаметр").Resizable().SetDataProperty(node => node.DispalyDiameter)
                                             .AddColumn("Давление").Resizable().SetDataProperty(node => node.DispalyPressure)
                                             .AddColumn("Cоединения").Resizable().SetDataProperty(node => node.DispalyConnection)
                                             .AddColumn("Материал").Resizable().SetDataProperty(node => node.DispalyMaterial)
                                             .AddColumn("Артикул").Resizable().SetDataProperty(node => node.DispalyModel)
                                             .AddColumn("Цена").Resizable().AddNumericRenderer(x => x.Price)
                                             .AddSetter((w, x) => w.Background = x.Price.HasValue ? "white" : "red")
                                             .AddColumn("DN(XLS)").Resizable().AddTextRenderer(x => x.DNText).Background("White Smoke")
                                             .AddColumn("PN(XLS)").Resizable().AddTextRenderer(x => x.PNText).Background("White Smoke")
                                             .AddColumn("Модель(XLS)").Resizable().AddTextRenderer(x => x.ModelText).Background("White Smoke")
                                             .AddColumn("Цена(XLS)").Resizable().AddTextRenderer(x => x.PriceText).Background("White Smoke")
                                             .Finish();
            ytreeviewParsing.EnableGridLines    = TreeViewGridLines.Both;
            ytreeviewParsing.Selection.Mode     = SelectionMode.Multiple;
            ytreeviewParsing.Selection.Changed += YtreeviewParsing_Selection_Changed;
            comboCurrency.ItemsEnum             = typeof(PriceСurrency);
        }
Пример #2
0
        public UpdatePricesDlg()
        {
            logger.Info("Выбор файла для обновления цен...");

            if (SelectFile())
            {
                FailInitialize = true;
                return;
            }

            this.Build();

            TabName = "Расположение колонок (Шаг 1)";

            try
            {
                using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
                {
                    wb = new XSSFWorkbook(fs);
                }
            }
            catch (IOException ex)
            {
                if (ex.HResult == -2147024864)
                {
                    MessageDialogWorks.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу.");
                    FailInitialize = true;
                    return;
                }
                throw ex;
            }

            comboCurrency.ItemsEnum = typeof(PriceСurrency);

            var sheets = new List <string>();

            for (int s = 0; s < wb.NumberOfSheets; s++)
            {
                sheets.Add(wb.GetSheetName(s));
            }
            comboSheet.ItemsList = sheets;

            ytreeviewSetColumns.EnableGridLines  = Gtk.TreeViewGridLines.Both;
            ytreeviewSetColumns.HeadersClickable = true;
            SetColumnTypeMenu  = GtkMenuHelper.GenerateMenuFromEnum <UpdatingXLSRow.ColumnType>(OnSetColumnHeaderMenuSelected);
            notebook1.ShowTabs = false;

            ytreeviewParsing.EnableGridLines    = TreeViewGridLines.Both;
            ytreeviewParsing.Selection.Mode     = SelectionMode.Multiple;
            ytreeviewParsing.Selection.Changed += YtreeviewParsing_Selection_Changed;

            comboProvider.SetRenderTextFunc <Provider>(x => x.Name);
        }