Esempio n. 1
0
        void unifica(bool stepForward){
            string dataMember = DetailGrid.DataMember;
            CurrencyManager cm = DetailGrid.BindingContext[DS, dataMember] as CurrencyManager;
            if (cm == null) return;
            DataView view = cm.List as DataView;
            if (view == null) {
                MessageBox.Show(this, "Selezionare una anagrafica");
                return;
            }
            int numRigheSel;
            DataRow RowSelected;
            RowSelected = null;
            object idregSelected;
            idregSelected = DBNull.Value;
            numRigheSel = 0;
            for (int i = 0; i < view.Count; i++) {
                if (DetailGrid.IsSelected(i)) {
                    DataRow R = GetGridRow(i);
                    if (R == null) continue;
                    numRigheSel++;
                    RowSelected = R;
                }
            }

            if (!(numRigheSel == 1)) {
                MessageBox.Show(this, "Selezionare un'anagrafica");
                return;
            }

            if (!(RowSelected == null)) {
                idregSelected = RowSelected["idreg"];
            }

            for (int i = 0; i < view.Count; i++) {
                object idreg = view[i].Row["idreg"];
                string filter = QHC.CmpEq("idreg", idreg);
                DataRow[] Registry = DS.registrymainview.Select(filter);
                if (Registry.Length == 0) {
                    MessageBox.Show(this, "Errore, griglia e tabella dati disallineate! Contattare il settore assistenza");
                    return;
                }
                DataRow r = Registry[0];
                // N.B. Imposto toredirect a idreg esplicitamente nel caso ci siano ancora anagrafiche non attivate
                if (!(DetailGrid.IsSelected(i))) {
                    r["active"] = "N";
                    r["toredirect"] = idregSelected;
                }
            }

            if (saveData()) {
                MessageBox.Show(this, "Anagrafiche aggiornate");
                btnSuccessivo.Enabled = true;
                if (stepForward) btnSuccessivo_Click(null, null);
            }
            else {
                grpConferma.Enabled = true;
                btnSuccessivo.Enabled = false;
            }
        }
Esempio n. 2
0
        private void btnAttivo_Click(object sender, EventArgs e) {
            string dataMember = DetailGrid.DataMember;
            CurrencyManager cm = DetailGrid.BindingContext[DS, dataMember] as CurrencyManager;
            if (cm == null) return;
            DataView view = cm.List as DataView;
            if (view == null) {
                MessageBox.Show(this, "Selezionare una anagrafica");
                return;
            }

            int numRigheSel;
            numRigheSel = 0;
            for (int i = 0; i < view.Count; i++) {
                if (DetailGrid.IsSelected(i)) {
                    DataRow R = GetGridRow(i);
                    if (R == null) continue;
                    numRigheSel++;
                }
            }

            if (!(numRigheSel == 1)) {
                MessageBox.Show(this, "Selezionare un'anagrafica");
                return;
            }

            for (int i = 0; i < view.Count; i++) {
                object idreg = view[i].Row["idreg"];
                string filter = QHC.CmpEq("idreg", idreg);
                DataRow[] Registry = DS.registrymainview.Select(filter);
                if (Registry.Length == 0) {
                    MessageBox.Show(this, "Errore, griglia e tabella dati disallineate! Contattare il settore assistenza");
                    return;
                }

                DataRow r = Registry[0];
                // N.B. Imposto anche active a S esplicitamente nel caso ci siano ancora anagrafiche con active a NULL
                r["active"] = (DetailGrid.IsSelected(i)) ? "S" : "N";
            }

            if (saveData()) {
                MessageBox.Show(this, "Anagrafiche aggiornate");
                //TempTable.Rows.RemoveAt(0);//questo codice sarà eseguito in btnSuccessivo_Click()
                //TempTable.AcceptChanges();

                //grpConferma.Enabled = false;
                btnSuccessivo.Enabled = true;
                btnSuccessivo_Click(sender, e);
            }
            else {
                grpConferma.Enabled = true;
                btnSuccessivo.Enabled = false;
            }

        }
Esempio n. 3
0
        private void btnSpecialAction_Click(object sender, EventArgs e) {
            if (DetailGrid.DataMember == null) return;
            if (DetailGrid.DataSource == null) return;
            string TableName = DetailGrid.DataMember.ToString();
            DataSet MyDS = (DataSet)DetailGrid.DataSource;
            DataTable MyTable = MyDS.Tables[TableName];
            int Num = MyTable.Rows.Count;
            object []idregs= new object[Num];
            for (int i = 0; i < Num; i++) idregs[i] = Convert.ToInt32( DetailGrid[i, 0]);

            string dataMember = DetailGrid.DataMember;
            CurrencyManager cm = DetailGrid.BindingContext[DS, dataMember] as CurrencyManager;
            if (cm == null) return;
            DataView view = cm.List as DataView;
            if (view == null) {
                MessageBox.Show(this, "Selezionare una anagrafica");
                return;
            }
            DataRow RowSelected = null;
            object idregSelected;
            idregSelected = DBNull.Value;
            int numRigheSel = 0;
            for (int i = 0; i < view.Count; i++) {
                if (DetailGrid.IsSelected(i)) {
                    DataRow R = GetGridRow(i);
                    if (R == null) continue;
                    numRigheSel++;
                    RowSelected = R;
                }
            }

            if (!(numRigheSel == 1)) {
                MessageBox.Show(this, "Selezionare un'anagrafica");
                return;
            }

            if (!(RowSelected == null)) {
                idregSelected = RowSelected["idreg"];
            }
            frmUnisciInformazioni F = new frmUnisciInformazioni(Convert.ToInt32(idregSelected),
                            idregs, conn as DataAccess, this.getInstance<IMetaDataDispatcher>() as MetaDataDispatcher);
            DialogResult Res= F.ShowDialog();
            if (Res == DialogResult.OK) {
                unifica(false);
                AggiornaSelezione();
            }
            return;

 
        }
Esempio n. 4
0
        private void GRID_MouseUp(object sender, MouseEventArgs e) {
            if (sender == null) return;
            if (!typeof(DataGrid).IsAssignableFrom(sender.GetType())) return;

            DataSet D = DetailGrid.DataSource as DataSet;
            if (D == null) return;
            DataTable T = D.Tables[DetailGrid.DataMember];
            if (T == null) return;

            System.Windows.Forms.DataGrid.HitTestInfo myHitTest = DetailGrid.HitTest(e.X, e.Y);
            if (myHitTest.Type == System.Windows.Forms.DataGrid.HitTestType.Cell) {
                int Row = myHitTest.Row;
                if (!DetailGrid.IsSelected(Row)) {
                    SimpleSelect(Row);
                }
                else {
                    DetailGrid.UnSelect(Row);
                }
            }
            else {
                int Row = myHitTest.Row;
            }
        }