private void deleteRowToolStripMenuItem_Click(object sender, EventArgs e) { if (tcMain.SelectedTabPageIndex == -1 || tcMain.SelectedTabPage == null) { StaticReference.ShowWarning(this, LanguageManager.Get("Message_NoFileOpen")); return; } string fileName = tcMain.SelectedTabPage.Tag as string; var tbl = StaticReference.GetTableByFullName(fileName); GridView view = GetViewFromSelectedTabPage(); if (view == null || tbl == null) { StaticReference.ShowWarning(this, LanguageManager.Get("Message_SelectPageFirst")); return; } if (view.SelectedRowsCount == 0) { StaticReference.ShowWarning(this, LanguageManager.Get("Message_NoRowsSelected")); return; } if (StaticReference.ShowQuestion(this, string.Format(LanguageManager.Get("Message_DeleteConfirm"), view.SelectedRowsCount)) == DialogResult.Yes) { List <DataRow> selectedRows = new List <DataRow>(); for (int i = 0; i < view.SelectedRowsCount; i++) { selectedRows.Add(tbl.Table.Rows[view.GetSelectedRows()[i]]); } if (_editedCells.ContainsKey(view)) { foreach (var q in view.GetSelectedRows()) { _editedCells[view].RemoveAll(i => i.Key == q); } view.Invalidate(); } foreach (var t in selectedRows) { tbl.Table.Rows.Remove(t); RemoveNewRowHighlight(view, t); } view.ClearSelection(); StaticReference.ShowInformation(this, string.Format(LanguageManager.Get("Message_DeleteSuccess"), selectedRows.Count)); } }
private bool CloseFile(string tableName) { var tbl = StaticReference.GetTableByFullName(tableName); if (tbl == null) { return(true); } if (tbl.Altered) { string q = string.Format(LanguageManager.Get("Message_SaveConfirmChanges"), tableName); switch (StaticReference.ShowQuestion(this, q)) { case DialogResult.Yes: tbl.Save(); // save break; case DialogResult.Cancel: return(false); } } try { /* Clear edited cell value if exist */ var page = GetTabPageByFilename(tableName); var view = GetViewFromTabPage(page); if (_editedCells.ContainsKey(view)) { _editedCells.Remove(view); view.Invalidate(); } ClearNewRowHighlight(view); StaticReference.RemoveTableByFullName(tableName); } catch { // ignored } return(true); }