private void dgvFields_SelectionChanged(object sender, EventArgs e) { AISField selField = (dgvFields.SelectedRows.Count > 0) ? (AISField)dgvFields.SelectedRows[0].DataBoundItem : null; propField.SelectedObject = selField; if (selField != null) { comboTypes.Enabled = true; comboTypes.Text = selField.GetType().Name; } else { comboTypes.Enabled = false; } }
public AISExplorerForm(string fileName) { InitializeComponent(); aisDefnCol = AISDefnCollection.LoadFromFile(fileName); dgvDefns.DataSource = aisDefnCol.AisDefns; if (aisDefnCol.FileName != "") { this.Text = "AIS Explorer - " + aisDefnCol.FileName; } saveToolStripMenuItem.Enabled = (aisDefnCol.FileName != ""); comboTypes.Items.AddRange(AISField.AllFieldTypes()); anyChanges = false; }
private void comboTypes_SelectionChangeCommitted(object sender, EventArgs e) { BindingList <AISField> Fields = ((AISDefn)dgvDefns.SelectedRows[0].DataBoundItem).Fields; int fieldIndex = dgvFields.SelectedRows[0].Index; if (Fields[fieldIndex].GetType().Name != ((Type)comboTypes.SelectedItem).Name) { // Backup properties var tempDict = new Dictionary <string, object> { }; PGNExplorerForm.UpdatePropertyValuesDict(ref tempDict, Fields[fieldIndex]); // Change object type Fields[fieldIndex] = AISField.CreateNewField((Type)comboTypes.SelectedItem); // Reload properties PGNExplorerForm.CopyTo(tempDict, Fields[fieldIndex]); // Update grids propField.SelectedObject = Fields[fieldIndex]; } }