private void deleteFieldToolStripMenuItem_Click(object sender, EventArgs e) { var fields = (N0183Field[])dgvFields.DataSource; // We set all selected items to null, and then rebuild the array of Fields for (int i = 0; i < dgvFields.Rows.Count; i++) { if (dgvFields.Rows[i].Selected) { fields[i] = null; } } var newFields = new N0183Field[fields.Length - dgvFields.SelectedRows.Count]; int j = 0; for (int i = 0; i < fields.Length; i++) { if (fields[i] != null) { newFields[j++] = fields[i]; } } N0183Defn dfn = N0183DefnCol.N0183Defns[dgvDefns.SelectedRows[0].Index]; dfn.Fields = newFields; dgvFields.DataSource = null; dgvFields.DataSource = dfn.Fields; // Delete a field }
private void deleteDefinitionToolStripMenuItem_Click(object sender, EventArgs e) { // We set all selected items to null, and then rebuild the array of PGNDefns for (int i = 0; i < dgvDefns.Rows.Count; i++) { if (dgvDefns.Rows[i].Selected) { N0183DefnCol.N0183Defns[i] = null; } } var newPGNDefns = new N0183Defn[N0183DefnCol.N0183Defns.Length - dgvDefns.SelectedRows.Count]; int j = 0; for (int i = 0; i < N0183DefnCol.N0183Defns.Length; i++) { if (N0183DefnCol.N0183Defns[i] != null) { newPGNDefns[j++] = N0183DefnCol.N0183Defns[i]; } } N0183DefnCol.N0183Defns = newPGNDefns; dgvDefns.DataSource = null; dgvDefns.DataSource = N0183DefnCol.N0183Defns; }
private void dgvDefns_SelectionChanged(object sender, EventArgs e) { if (dgvDefns.DataSource != null && dgvDefns.SelectedRows.Count == 1) { N0183Defn defn = (N0183Defn)dgvDefns.SelectedRows[0].DataBoundItem; //((N0183Defn[])dgvDefns.DataSource)[dgvDefns.SelectedRows[0].Index]; dgvFields.DataSource = defn.Fields; lblFields.Text = "Fields of code '" + defn.Code + "'" + ((defn.Name != "") ? " (" + defn.Name + ")" : ""); } else { lblFields.Text = "No Code selected"; } }
private void addFieldToolStripMenuItem_Click(object sender, EventArgs e) { if (dgvFields.DataSource != null) { // Create a new object with one more element (which is new because we are dealing with arrays) N0183Defn dfn = N0183DefnCol.N0183Defns[dgvDefns.SelectedRows[0].Index]; dfn.AddField(new N0183TextField() { Name = "New Field" }); dgvFields.DataSource = null; dgvFields.DataSource = dfn.Fields; dgvFields.FirstDisplayedScrollingRowIndex = dgvFields.RowCount - 1; dgvFields.Rows[dgvFields.RowCount - 1].Selected = true; AnyChanges = true; // Bind to the new object // dataGridViewFields.DataSource = MainForm.PGNDefns.PGNDefns[dataGridViewPGNs.SelectedRows[0].Index].Fields; // dataGridViewFields.Refresh(); } }