コード例 #1
0
        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);
        }