public DatabaseShow(string nameDataBase, Database db, EditFormTable editTable, string[] names, string query) { InitializeComponent(); _editFormTable = editTable; _database = db; _query = query; _captionsColumns = names; LoadData(_captionsColumns, _query); SetElements(nameDataBase); comboBox1.DropDownWidth = 210; }
public EditForm(EditFormTable eft, Database db) { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; EditFormTable = eft; _database = db; this.ID = -1; this.lastInsertIndex = -1; CreateControlElements(eft); label1.Text = "Добавление " + eft.NameForm; EditFormTable.Type = EditType.Add; this.Text = "Добавление"; pictureBoxHeader.Controls.Add(label1); this.Controls.Remove(label1); pictureBoxHeader.Width = this.Width; }
public void CreateFormsForTables() { eftZakazy = new EditFormTable() { NameForm = "заказа", NameTable = "zakazy" }; eftClients = new EditFormTable() { NameForm = "клиента", NameTable = "clients" }; eftVidremonta = new EditFormTable() { NameForm = "вида ремонта", NameTable = "vidremonta" }; eftDetali = new EditFormTable() { NameForm = "детали", NameTable = "detali" }; eftTovary = new EditFormTable() { NameForm = "товара", NameTable = "tovary" }; eftGarantii = new EditFormTable() { NameForm = "гарантии", NameTable = "garantii" }; eftSotrudniki = new EditFormTable() { NameForm = "сотрудника", NameTable = "sotrudniki" }; eftSex = new EditFormTable() { NameForm = "пола", NameTable = "sex" }; eftDolgnosti = new EditFormTable() { NameForm = "должности", NameTable = "dolgnosti" }; eftModels = new EditFormTable() { NameForm = "модели", NameTable = "models" }; eftCategories = new EditFormTable() { NameForm = "категории", NameTable = "categories" }; eftFirms = new EditFormTable() { NameForm = "фирмы", NameTable = "firms" }; ////////////////ЗАКАЗЫ///////////////// eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "clients.id_client", "clients.familiya", "clients.imya" }, FieldCaption = "Клиент", HaveLink = true, IDs = new List <int>(), TableField = eftClients }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "tovary.id_tovar", "tovary.seriyniy_nomer" }, FieldCaption = "Товары", HaveLink = true, IDs = new List <int>(), TableField = eftTovary }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "garantii.id_garantiya", "garantii.garantiyniy_srok" }, FieldCaption = "Гарантия", HaveLink = true, IDs = new List <int>(), TableField = eftGarantii }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "vidremonta.id_vidremont", "vidremonta.nazvanie" }, FieldCaption = "Вид ремонта", HaveLink = true, IDs = new List <int>(), TableField = eftVidremonta }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sotrudniki.id_sotrudnik", "sotrudniki.familiya", "sotrudniki.imya" }, FieldCaption = "Сотрудник", HaveLink = true, IDs = new List <int>(), TableField = eftSotrudniki }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "detali.id_detal", "detali.nazvanie", "detali.kolichesstvo" }, FieldCaption = "Деталь", HaveLink = true, IDs = new List <int>(), TableField = eftDetali }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "zakazy.stoimost_remonta" }, FieldCaption = "Стоимость ремонта", CheckInt = true }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "zakazy.alert_client" }, FieldCaption = "Сообщить клиенту", Check = true }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "zakazy.data_postupleniya_zakaza" }, FieldCaption = "Дата поступления заказа", Date = true }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "zakazy.data_ispolneniya_zakaza" }, FieldCaption = "Дата исполнения заказа", Date = true }); eftZakazy.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "zakazy.data_polucheniya_tovara" }, FieldCaption = "Дата получения товара", Date = true }); ///////////////КЛИЕНТЫ//////////////// eftClients.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "clients.familiya" }, FieldCaption = "Фамилия" }); eftClients.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "clients.imya" }, FieldCaption = "Имя" }); eftClients.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "clients.otchestvo" }, FieldCaption = "Отчество" }); eftClients.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "clients.telephon" }, FieldCaption = "Телефон" }); eftClients.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "clients.addres" }, FieldCaption = "Адрес" }); //////////////ВИД РЕМОНТА///////////// eftVidremonta.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "vidremonta.nazvanie" }, FieldCaption = "Вид ремонта" }); ////////////////ДЕТАЛИ//////////////// eftDetali.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "detali.nazvanie" }, FieldCaption = "Название" }); eftDetali.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "detali.kolichesstvo" }, FieldCaption = "Количество", CheckInt = true }); ////////////////ТОВАРЫ//////////////// eftTovary.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "firms.id_firm", "firms.firma" }, FieldCaption = "Фирма", HaveLink = true, IDs = new List <int>(), TableField = eftFirms }); eftTovary.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "categories.id_category", "categories.category" }, FieldCaption = "Категория", HaveLink = true, IDs = new List <int>(), TableField = eftCategories }); eftTovary.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "models.id_model", "models.nazvanie" }, FieldCaption = "Модель", HaveLink = true, IDs = new List <int>(), TableField = eftModels }); eftTovary.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "tovary.seriyniy_nomer" }, FieldCaption = "Серийный номер" }); eftTovary.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "tovary.tehnichiskie_haracteristici" }, FieldCaption = "Технические характеристики" }); eftTovary.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "tovary.garantiyniy_srok" }, FieldCaption = "Гарантийный срок", Date = true }); ////////////////ГАРАНТИИ////////////// eftGarantii.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "garantii.garantiyniy_srok" }, FieldCaption = "Гарантийный срок", Date = true }); eftGarantii.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "garantii.nazvanie_centra" }, FieldCaption = "Название центра" }); eftGarantii.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "garantii.addres" }, FieldCaption = "Адрес" }); ////////////////Сотрудники////////////// eftSotrudniki.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sex.id_sex", "sex.sex" }, FieldCaption = "Пол", HaveLink = true, IDs = new List <int>(), TableField = eftSex }); eftSotrudniki.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "dolgnosti.id_dolgnost", "dolgnosti.nazvanie" }, FieldCaption = "Должность", HaveLink = true, IDs = new List <int>(), TableField = eftDolgnosti }); eftSotrudniki.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sotrudniki.familiya" }, FieldCaption = "Фамилия" }); eftSotrudniki.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sotrudniki.imya" }, FieldCaption = "Имя" }); eftSotrudniki.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sotrudniki.otchestvo" }, FieldCaption = "Отчество" }); eftSotrudniki.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sotrudniki.telephon" }, FieldCaption = "Телефон" }); eftSotrudniki.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sotrudniki.addres" }, FieldCaption = "Адрес" }); ///////////////////ПОЛ////////////////// eftSex.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "sex.sex" }, FieldCaption = "Пол" }); ////////////////Должности/////////////// eftDolgnosti.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "dolgnosti.nazvanie" }, FieldCaption = "Должность" }); ////////////////Модели/////////////// eftModels.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "models.nazvanie" }, FieldCaption = "Модель" }); ////////////////Категории/////////////// eftCategories.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "categories.category" }, FieldCaption = "Категория" }); ////////////////Фирмы/////////////// eftFirms.Fields.Add(new FieldForm() { FieldFullNames = new List <string>() { "firms.firma" }, FieldCaption = "Фирма" }); }
private void CreateControlElements(EditFormTable eft) { int X = 10; int Y = 30; int maxwidth = 0; bool havecombobox = false; for (int i = 0; i < eft.Fields.Count; i++) { Label label = new Label(); label.Text = eft.Fields[i].FieldCaption; //label.Width = eft.Fields[i].FieldCaption.Length * 10; maxwidth = (maxwidth < label.Width? label.Width : maxwidth); label.Location = new Point(X, Y); panel1.Controls.Add(label); Y += 25; } Y = 30; for (int i = 0; i < eft.Fields.Count; i++) { if (eft.Fields[i].HaveLink) { havecombobox = true; ComboBox comboBox = new ComboBox(); comboBox.Tag = eft.Fields[i]; comboBox.Name = "comboBox" + i; comboBox.DropDownStyle = ComboBoxStyle.DropDownList; comboBox.Width = 200; comboBox.Location = new Point(maxwidth + X, Y); UpdateComboBox(comboBox, eft.Fields[i]); panel1.Controls.Add(comboBox); CreatedControls.Add(comboBox); Button buttonf = new Button(); buttonf.Cursor = Cursors.Hand; //button buttonf.Text = "Добавить запись"; buttonf.Width = 100; buttonf.Location = new Point(comboBox.Width + comboBox.Location.X + 5, Y); buttonf.Click += delegate(object sender, EventArgs arg) { EditForm ef = new EditForm((comboBox.Tag as FieldForm).TableField, _database); ef.FormClosing += Ef_FormClosing; ef.Tag = comboBox; ef.ShowDialog(); }; panel1.Controls.Add(buttonf); Button buttong = new Button(); buttong.Cursor = Cursors.Hand; //button buttong.Text = "Изменить запись"; buttong.Width = 100; buttong.Location = new Point(buttonf.Width + buttonf.Location.X + 5, Y); buttong.Click += delegate(object sender, EventArgs arg) { if (comboBox.SelectedIndex == -1) { MessageBox.Show("Необходимо выбрать запись!"); return; } EditForm ef = new EditForm((comboBox.Tag as FieldForm).TableField, _database, (comboBox.Tag as FieldForm).IDs[comboBox.SelectedIndex]); ef.FormClosing += Ef_FormClosing; ef.Tag = comboBox; ef.ShowDialog(); }; panel1.Controls.Add(buttong); } else if (eft.Fields[i].Date) { DateTimePicker dateTimePicker = new DateTimePicker(); dateTimePicker.Tag = eft.Fields[i]; dateTimePicker.CustomFormat = "yyyy-MMM-dd"; dateTimePicker.Format = DateTimePickerFormat.Custom; dateTimePicker.Name = "dateTimePicker" + i; dateTimePicker.Width = 200; dateTimePicker.Location = new Point(maxwidth + X, Y); panel1.Controls.Add(dateTimePicker); CreatedControls.Add(dateTimePicker); } else if (eft.Fields[i].Check) { CheckBox checkBox = new CheckBox(); checkBox.Tag = eft.Fields[i]; checkBox.Name = "checkBox" + i; checkBox.Width = 200; checkBox.Location = new Point(maxwidth + X, Y); panel1.Controls.Add(checkBox); CreatedControls.Add(checkBox); } else { TextBox textBox = new TextBox(); textBox.Tag = eft.Fields[i]; if (eft.Fields[i].CheckInt) { textBox.TextChanged += delegate(object sender, EventArgs arg) { if (textBox.Text.Length == 0) { return; } if (!Char.IsDigit(textBox.Text[textBox.Text.Length - 1])) { MessageBox.Show("Должны вводиться числа!", "Ошибка!", MessageBoxButtons.OK); textBox.Text = ""; return; } } } ; textBox.Name = "textBox" + i; textBox.Width = 200; textBox.Location = new Point(maxwidth + X, Y); panel1.Controls.Add(textBox); CreatedControls.Add(textBox); } Y += 25; } panel1.Width = maxwidth + 240 + (havecombobox ? 200 : 0); panel1.Height = Y + 40; //panel1.AutoSize = true; this.Width = panel1.Width + 17; this.Height = panel1.Height + 100; Button button = new Button(); button.Cursor = Cursors.Hand; button.Click += SendQuery; button.Name = "ButtonOk"; button.Text = "OK"; button.Width = 100; button.Location = new Point(panel1.Width / 2 - button.Width / 2, Y + 10); panel1.Controls.Add(button); pictureBoxHeader.Width = panel1.Width; label1.Location = new Point(pictureBoxHeader.Width / 2 - label1.Width / 2, label1.Location.Y); }