private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { HeaderField field = (HeaderField)e.Row.DataBoundItem; if (field.isMandatory()) { e.Cancel = true; } }
private void removeHeaderField() { foreach (DataGridViewRow row in dataGridView1.SelectedRows) { // first check if the row is new if (row.IsNewRow) { continue; } HeaderField field = (HeaderField)row.DataBoundItem; if (field.isMandatory()) { continue; } dataGridView1.Rows.RemoveAt(row.Index); } foreach (DataGridViewCell cell in dataGridView1.SelectedCells) { var row = cell.OwningRow; // first check if the row is new if (row.IsNewRow) { continue; } HeaderField field = (HeaderField)row.DataBoundItem; if (field.isMandatory()) { continue; } dataGridView1.Rows.RemoveAt(row.Index); } //datagrid.RemoveCurrent(); }