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(форма); }
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, "Построение модели формы"); процесса.Закрыть(); } }