bool Do_Delete() { pBar.Visible = true; this.Cursor = Cursors.WaitCursor; foreach (DataTable T in DS.Tables) { if ((T.TableName == "registrymainview") || (T.TableName == "no_table")) { continue; } T.Clear(); } string dataMember = dgAnagrafica.DataMember; CurrencyManager cm = dgAnagrafica.BindingContext[DS, dataMember] as CurrencyManager; if (cm == null) { return(false); } DataView view = cm.List as DataView; if (view == null) { MessageBox.Show(this, "Selezionare almeno una anagrafica"); return(true); } int Nselected = 0; int max = view.Count - 1; for (int i = 0; i <= max; i++) { if (dgAnagrafica.IsSelected(i)) { Nselected++; } } pBar.Maximum = Nselected; pBar.Value = 0; string filter = ""; //int j = 0; for (int i = 0; i <= max; i++) { if (!dgAnagrafica.IsSelected(i)) { continue; } DataSet D = DS.Clone(); QueryCreator.SetTableForPosting(D.Tables["registrymainview"], "registry"); pBar.Increment(1); filter = QHS.CmpEq("idreg", view[i]["idreg"]); foreach (string tname in new string[] { "registrymainview", "registryaddress", "registrycf", "registrylegalstatus", "registrypaymethod", "registrypiva", "registryreference", "registrytaxablestatus" }) { DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, D.Tables[tname], null, filter, null, false); foreach (DataRow RD in D.Tables[tname].Rows) { RD.Delete(); } } PostData P = Meta.Get_PostData(); P.InitClass(D, Meta.Conn); if (!P.DO_POST()) { Aggiorna(); pBar.Visible = false; return(false); } } Aggiorna(); this.Cursor = Cursors.Default; pBar.Visible = false; return(true); }