private void comboType_SelectionChangeCommitted(object sender, EventArgs e) { int selIdx = (gridParameters.SelectedRows.Count == 0) ? -1 : gridParameters.SelectedRows[0].Index; if (selIdx >= 0 && (selIdx < ParamCol.Parameters.Length)) { if (ParamCol.Parameters[selIdx].GetType().Name != ((Type)comboType.SelectedItem).Name) { // Backup properties var tempDict = new Dictionary <string, object> { }; PGNExplorerForm.UpdatePropertyValuesDict(ref tempDict, ParamCol.Parameters[selIdx]); // Change object type ParamCol.Parameters[selIdx] = (Parameter)Activator.CreateInstance((Type)comboType.SelectedItem); // Reload properties PGNExplorerForm.CopyTo(tempDict, ParamCol.Parameters[selIdx]); // Refresh gridParameters.Refresh(); propParam.SelectedObject = ParamCol.Parameters[selIdx]; propParam.Refresh(); } } }
private void comboTypes_SelectionChangeCommitted(object sender, EventArgs e) { if (dgvFields.DataSource != null && dgvFields.SelectedRows.Count == 1) { N0183Field[] fields = ((N0183Field[])dgvFields.DataSource); int idx = dgvFields.SelectedRows[0].Index; if (fields[idx].GetType().Name != ((Type)comboTypes.SelectedItem).Name) { // Backup properties var tempDict = new Dictionary <string, object> { }; PGNExplorerForm.UpdatePropertyValuesDict(ref tempDict, fields[idx]); // Change object type fields[idx] = (N0183Field)Activator.CreateInstance((Type)comboTypes.SelectedItem); // Reload properties PGNExplorerForm.CopyTo(tempDict, fields[idx]); // Refresh dgvDefns.Refresh(); dgvFields.Refresh(); pgField.SelectedObject = fields[idx]; pgField.Refresh(); } } }