Ejemplo n.º 1
0
        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();
                }
            }
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }