public SearchSoftwareForm() { InitializeComponent(); var softwares = SoftwareDataModel.GetInstance(); var softMakers = SoftMakersDataModel.GetInstance(); var softTypes = SoftTypesDataModel.GetInstance(); softwares.Select(); softMakers.Select(); softTypes.Select(); var vSoftMakers = new BindingSource { DataMember = "SoftMakers", DataSource = DataSetManager.DataSet }; var vSoftTypes = new BindingSource { DataMember = "SoftTypes", DataSource = DataSetManager.DataSet }; comboBoxSoftwareMaker.DataSource = vSoftMakers; comboBoxSoftwareMaker.ValueMember = "ID SoftMaker"; comboBoxSoftwareMaker.DisplayMember = "SoftMaker"; comboBoxSoftwareType.DataSource = vSoftTypes; comboBoxSoftwareType.ValueMember = "ID SoftType"; comboBoxSoftwareType.DisplayMember = "SoftType"; foreach (Control control in Controls) { control.KeyDown += (sender, e) => { var comboBox = sender as ComboBox; if (comboBox != null && comboBox.DroppedDown) { return; } switch (e.KeyCode) { case Keys.Enter: vButtonSearch_Click(sender, e); break; case Keys.Escape: DialogResult = DialogResult.Cancel; break; } } } ; }
public override void LoadData() { dataGridView.AutoGenerateColumns = false; DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.Document; _softwareDm = SoftwareDataModel.GetInstance(); _softTypes = SoftTypesDataModel.GetInstance(); _softMakers = SoftMakersDataModel.GetInstance(); // Ожидаем дозагрузки, если это необходимо _softwareDm.Select(); _softTypes.Select(); _softMakers.Select(); var ds = DataSetManager.DataSet; _vSoftTypes = new BindingSource { DataMember = "SoftTypes", DataSource = ds }; _vSoftMakers = new BindingSource { DataMember = "SoftMakers", DataSource = ds }; _vSoftware = new BindingSource(); _vSoftware.CurrentItemChanged += v_software_CurrentItemChanged; _vSoftware.DataMember = "Software"; _vSoftware.DataSource = ds; _vSoftware.Filter = StaticFilter; if (!string.IsNullOrEmpty(StaticFilter) && !string.IsNullOrEmpty(DynamicFilter)) { _vSoftware.Filter += " AND "; } _vSoftware.Filter += DynamicFilter; DataBind(); _softwareDm.Select().RowChanged += SoftwareViewport_RowChanged; _softwareDm.Select().RowDeleted += SoftwareViewport_RowDeleted; dataGridView.RowCount = _vSoftware.Count; SetViewportCaption(); ViewportHelper.SetDoubleBuffered(dataGridView); _isEditable = true; }
private void PreLoadData() { toolStripProgressBar.Maximum = 13; DepartmentsDataModel.GetInstance(toolStripProgressBar, 1); DevicesDataModel.GetInstance(toolStripProgressBar, 1); SoftwareDataModel.GetInstance(toolStripProgressBar, 1); SoftVersionsDataModel.GetInstance(toolStripProgressBar, 1); SoftInstallationsDataModel.GetInstance(toolStripProgressBar, 1); SoftInstallatorsDataModel.GetInstance(toolStripProgressBar, 1); SoftLicDocTypesDataModel.GetInstance(toolStripProgressBar, 1); SoftLicensesDataModel.GetInstance(toolStripProgressBar, 1); SoftLicKeysDataModel.GetInstance(toolStripProgressBar, 1); SoftLicTypesDataModel.GetInstance(toolStripProgressBar, 1); SoftMakersDataModel.GetInstance(toolStripProgressBar, 1); SoftSuppliersDataModel.GetInstance(toolStripProgressBar, 1); SoftTypesDataModel.GetInstance(toolStripProgressBar, 1); }
public override void LoadData() { dataGridView.AutoGenerateColumns = false; DockAreas = WeifenLuo.WinFormsUI.Docking.DockAreas.Document; _softTypes = SoftTypesDataModel.GetInstance(); //Ожидаем дозагрузки данных, если это необходимо _softTypes.Select(); _vSoftTypes = new BindingSource { DataMember = "SoftTypes", DataSource = DataSetManager.DataSet }; //Инициируем колонки snapshot-модели for (var i = 0; i < _softTypes.Select().Columns.Count; i++) { _snapshotSoftTypes.Columns.Add(new DataColumn( _softTypes.Select().Columns[i].ColumnName, _softTypes.Select().Columns[i].DataType)); } //Загружаем данные snapshot-модели из original-view for (var i = 0; i < _vSoftTypes.Count; i++) { _snapshotSoftTypes.Rows.Add(DataRowViewToArray((DataRowView)_vSoftTypes[i])); } _vSnapshotSoftTypes = new BindingSource { DataSource = _snapshotSoftTypes }; _vSnapshotSoftTypes.CurrentItemChanged += v_snapshotSoftTypes_CurrentItemChanged; dataGridView.DataSource = _vSnapshotSoftTypes; idSoftType.DataPropertyName = "ID SoftType"; softType.DataPropertyName = "SoftType"; dataGridView.DataBindings.DefaultDataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged; dataGridView.CellValidated += dataGridView_CellValidated; //События изменения данных для проверки соответствия реальным данным в модели dataGridView.CellValueChanged += dataGridView_CellValueChanged; //Синхронизация данных исходные->текущие _softTypes.Select().RowChanged += SoftTypesViewport_RowChanged; _softTypes.Select().RowDeleting += SoftTypesViewport_RowDeleting; _softTypes.Select().RowDeleted += SoftTypesViewport_RowDeleted; }
public SearchLicensesForm() { InitializeComponent(); var softMakers = SoftMakersDataModel.GetInstance(); var softTypes = SoftTypesDataModel.GetInstance(); var softSuppliers = SoftSuppliersDataModel.GetInstance(); var softLicTypes = SoftLicTypesDataModel.GetInstance(); var softLicDocTypes = SoftLicDocTypesDataModel.GetInstance(); var departments = DepartmentsDataModel.GetInstance(); // Ожидаем дозагрузки, если это необходимо softMakers.Select(); softTypes.Select(); softSuppliers.Select(); softLicTypes.Select(); softLicDocTypes.Select(); departments.Select(); var vSoftMakers = new BindingSource { DataMember = "SoftMakers", DataSource = DataSetManager.DataSet }; var vSoftTypes = new BindingSource { DataMember = "SoftTypes", DataSource = DataSetManager.DataSet }; var vSoftSuppliers = new BindingSource { DataMember = "SoftSuppliers", DataSource = DataSetManager.DataSet }; var vSoftLicTypes = new BindingSource { DataMember = "SoftLicTypes", DataSource = DataSetManager.DataSet }; var vSoftLicDocTypes = new BindingSource { DataMember = "SoftLicDocTypes", DataSource = DataSetManager.DataSet }; _vDepartments = new BindingSource { DataSource = departments.SelectVisibleDepartments() }; comboBoxDepartmentID.DataSource = _vDepartments; comboBoxDepartmentID.ValueMember = "ID Department"; comboBoxDepartmentID.DisplayMember = "Department"; comboBoxSoftwareMaker.DataSource = vSoftMakers; comboBoxSoftwareMaker.ValueMember = "ID SoftMaker"; comboBoxSoftwareMaker.DisplayMember = "SoftMaker"; comboBoxSupplierID.DataSource = vSoftSuppliers; comboBoxSupplierID.ValueMember = "ID Supplier"; comboBoxSupplierID.DisplayMember = "Supplier"; comboBoxSoftwareType.DataSource = vSoftTypes; comboBoxSoftwareType.ValueMember = "ID SoftType"; comboBoxSoftwareType.DisplayMember = "SoftType"; comboBoxLicType.DataSource = vSoftLicTypes; comboBoxLicType.ValueMember = "ID LicType"; comboBoxLicType.DisplayMember = "LicType"; comboBoxLicDocType.DataSource = vSoftLicDocTypes; comboBoxLicDocType.ValueMember = "ID DocType"; comboBoxLicDocType.DisplayMember = "DocType"; comboBoxOpBuyLicenseDate.SelectedIndex = 0; comboBoxOpExpireLicenseDate.SelectedIndex = 0; foreach (Control control in Controls) { control.KeyDown += (sender, e) => { var comboBox = sender as ComboBox; if (comboBox != null && comboBox.DroppedDown) { return; } if (e.KeyCode == Keys.Enter) { vButtonSearch_Click(sender, e); } else if (e.KeyCode == Keys.Escape) { DialogResult = DialogResult.Cancel; } } } ; }
public override void SaveRecord() { dataGridView.EndEdit(); _syncViews = false; var list = SoftTypesFromViewport(); if (!ValidateViewportData(list)) { _syncViews = true; return; } for (var i = 0; i < list.Count; i++) { var row = _softTypes.Select().Rows.Find(list[i].IdSoftType); if (row == null) { var idSoftType = SoftTypesDataModel.Insert(list[i]); if (idSoftType == -1) { _syncViews = true; return; } ((DataRowView)_vSnapshotSoftTypes[i])["ID SoftType"] = idSoftType; _softTypes.Select().Rows.Add(DataRowViewToArray((DataRowView)_vSnapshotSoftTypes[i])); } else { if (RowToSoftType(row) == list[i]) { continue; } if (SoftTypesDataModel.Update(list[i]) == -1) { _syncViews = true; return; } row["SoftType"] = list[i].SoftTypeName == null ? DBNull.Value : (object)list[i].SoftTypeName; } } list = SoftTypesFromView(); for (var i = 0; i < list.Count; i++) { var rowIndex = -1; for (var j = 0; j < dataGridView.Rows.Count; j++) { if ((dataGridView.Rows[j].Cells["idSoftType"].Value != null) && !string.IsNullOrEmpty(dataGridView.Rows[j].Cells["idSoftType"].Value.ToString()) && ((int)dataGridView.Rows[j].Cells["idSoftType"].Value == list[i].IdSoftType)) { rowIndex = j; } } if (rowIndex != -1) { continue; } if (SoftTypesDataModel.Delete(list[i].IdSoftType.Value) == -1) { _syncViews = true; return; } _softTypes.Select().Rows.Find(list[i].IdSoftType).Delete(); } _syncViews = true; MenuCallback.EditingStateUpdate(); }