예제 #1
0
        public ЭкраннаяФорма ИмпортироватьЭкраннуюФорму(string Файл)
        {
            ЭкраннаяФорма форма = new ЭкраннаяФорма();

            this.sheetFamilyID = GridFormulaEngine.CreateSheetFamilyID();
            ExcelEngine  engine   = new ExcelEngine();
            IApplication excel    = engine.Excel;
            IWorkbook    workbook = engine.Excel.Workbooks.Open(Файл);

            foreach (IWorksheet worksheet in workbook.Worksheets)
            {
                if (worksheet.Name.Trim().ToLower() == "code")
                {
                    continue;
                }
                if (worksheet.Name.Trim().ToLower() == "шапка")
                {
                    ШапкаЭкраннойФормы формы = new ШапкаЭкраннойФормы();
                    GridFormulaEngine.RegisterGridAsSheet("sys_шапка", формы.Представление, this.sheetFamilyID);
                    base.ExcelToGrid(worksheet, формы.Представление);
                    формы.УстановитьСтилевыеНастройкиТаблицы();
                    this.ОбработатьЯчейкиТаблицы(формы);
                    форма.Шапка = формы;
                }
                else
                {
                    this.ПолучитьТаблицыФормы(worksheet, форма);
                }
            }
            return(форма);
        }
예제 #2
0
        private void ВыборОтчетнойФормы_EditValueChanged(object sender, EventArgs e)
        {
            едактируемаяФорма форма = this.ВыбранныйЭлемент;

            if (форма != null)
            {
                XtraTabPage            page2;
                ФормаИндикаторПроцесса процесса = new ФормаИндикаторПроцесса();
                процесса.Показать();
                процесса.УстановитьЗначениеИндикатора(0, "Построение модели формы");
                Application.DoEvents();
                this.ИдентификаторФормы = форма.Идентификатор;
                ЭкраннаяФорма форма2 = new ЭкраннаяФорма();
                форма2.ежимРаботы = ежимРаботыЭкраннойФормы.едакторУвязок;
                форма2.ОтчетнаяФорма.ЗагрузитьМетаструктуру(форма.ПутьКФайлуМетаструктуры, форма.НачалоДействия);
                XPathDocument document = new XPathDocument(ПровайдерФайловФормы.ПолучитьПутьКФайлуЭкраннойФормы(форма.ПутьКФайлуМетаструктуры));
                форма2.ЗагрузитьФорму(document);
                процесса.УстановитьЗначениеИндикатора(50, "Построение модели формы");
                this.tabТаблицы.BeginUpdate();
                this.tabТаблицы.SelectedTabPageIndex = 0;
                this.tabТаблицы.TabPages.Clear();
                ШапкаЭкраннойФормы формы = форма2.Шапка;
                if (формы != null)
                {
                    XtraTabPage page = this.tabТаблицы.TabPages.Add();
                    формы.Dock       = DockStyle.Fill;
                    формы.KeyDown   += new KeyEventHandler(this.MainView_KeyDown);
                    формы.KeyUp     += new KeyEventHandler(this.MainView_KeyUp);
                    формы.CellClick += new GridCellClickEventHandler(this.шапка_CellClick);
                    page.Controls.Add(формы);
                    page.Text = "Шапка";
                }
                foreach (ТаблицаОтчетнойФормы формы2 in форма2.Таблицы)
                {
                    page2             = this.tabТаблицы.TabPages.Add();
                    формы2.Dock       = DockStyle.Fill;
                    формы2.KeyDown   += new KeyEventHandler(this.MainView_KeyDown);
                    формы2.KeyUp     += new KeyEventHandler(this.MainView_KeyUp);
                    формы2.CellClick += new GridCellClickEventHandler(this.таблица_CellClick);
                    page2.Controls.Add(формы2);
                    page2.Text = формы2.ИмяЛиста;
                }
                foreach (ДинамическаяТаблица таблица in форма2.ДинамическиеТаблицы.Values)
                {
                    page2                     = this.tabТаблицы.TabPages.Add();
                    таблица.Dock              = DockStyle.Fill;
                    таблица.MainView.KeyUp   += new KeyEventHandler(this.MainView_KeyUp);
                    таблица.MainView.KeyDown += new KeyEventHandler(this.MainView_KeyDown);
                    таблица.MainView.Click   += new EventHandler(this.MainView_Click);
                    page2.Controls.Add(таблица);
                    page2.Text = таблица.КодТаблицы;
                }
                this.tabТаблицы.EndUpdate();
                if (this.ИспользоватьТолькоОднуФорму)
                {
                    this.textEditФормула.Text = string.Empty;
                }
                this.textEditФормула.Focus();
                this.textEditФормула.Select(this.textEditФормула.Text.Length, 0);
                процесса.УстановитьЗначениеИндикатора(100, "Построение модели формы");
                процесса.Закрыть();
            }
        }