private void btnEditTerm_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(txtName.Text) && DialogResult.Cancel == MessageBox.Show( $"The current term ({txtName.Text}) has not been added to the list!\r\n" + "Click Cancel if you want a chance to add the term first.\r\n" + "Press Ok to overwrite the current term with selected one from the term list.", $"Unsaved changes to {txtName.Text}", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2)) { return; } var row = dgvTerms.SelectedRows.Cast <DataGridViewRow>().FirstOrDefault(); if (row == null) { return; } rdoCharacter.Checked = ImageUtil.AreEqual((Bitmap)row.Cells[0].Value, Resources.character); rdoTopic.Checked = ImageUtil.AreEqual((Bitmap)row.Cells[0].Value, Resources.setting); txtName.Text = row.Cells[1].Value?.ToString() ?? ""; txtAliases.Text = row.Cells[2].Value?.ToString() ?? ""; txtDescription.Text = row.Cells[3].Value?.ToString() ?? ""; txtLink.Text = row.Cells[4].Value?.ToString() ?? ""; rdoGoodreads.Checked = row.Cells[5].Value?.ToString() == "Goodreads"; rdoWikipedia.Checked = row.Cells[5].Value?.ToString() == "Wikipedia"; chkMatch.Checked = (bool?)row.Cells[6].Value ?? false; chkCase.Checked = (bool?)row.Cells[7].Value ?? false; //chkDelete.Checked = (bool)row.Cells[8].Value; chkRegex.Checked = (bool?)row.Cells[9].Value ?? false; dgvTerms.Rows.Remove(row); }
private IEnumerable <Term> GetTermsFromGrid() { var termId = 1; foreach (DataGridViewRow row in dgvTerms.Rows) { yield return(new Term { Id = termId++, Type = ImageUtil.AreEqual((Bitmap)row.Cells[0].Value, Resources.character) ? "character" : "topic", TermName = row.Cells[1].Value?.ToString() ?? "", Aliases = !string.IsNullOrEmpty(row.Cells[2].Value?.ToString()) ? row.Cells[2].Value.ToString().Split(',').Distinct().ToList() : new List <string>(), Desc = row.Cells[3].Value?.ToString() ?? "", DescUrl = row.Cells[4].Value?.ToString() ?? "", DescSrc = row.Cells[5].Value?.ToString() ?? "", Match = (bool?)row.Cells[6].Value ?? false, MatchCase = (bool?)row.Cells[7].Value ?? false, RegexAliases = (bool?)row.Cells[9].Value ?? false }); } }