/// <summary>
        /// Verifica se l'utente è in EDIT su una riga della MyGridView.
        /// </summary>
        /// <returns></returns>
        Boolean NoGridViewEditing()
        {
            Boolean RetValue = true;

            if (this.Page.Form != null)
            {
                MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl("GridView") as MyGridViewLibrary.MyGridView;

                if (gridView != null)
                {
                    try
                    {
                        if (gridView.EditIndex != -1)
                        {
                            //RetValue = GridViewMessages(GetValueDizionarioUI("MESSAGGIO_ERR_AIR"));
                            ViewMessage(GetValueDizionarioUI("MESSAGGIO_ERR_AIR"));
                            RetValue = false;
                        }
                    }
                    catch (Exception ex)
                    {
                        // Gestione messaggistica all'utente e trace in DB dell'errore
                        ExceptionPolicy.HandleException(ex, "Propagate Policy");
                    }
                }
            }
            return(RetValue);
        }
        /// <summary>
        /// Gestione abilitazione button della griglia in funzione del button cliccato
        /// </summary>
        /// <param name="rowIndex">Index della riga che si sta cercando di modificare</param>
        /// <param name="clickedButton">Button cliccato</param>
        /// <param name="grid">Nome della MyGridView</param>
        protected void DisableButton(Int32 rowIndex, string clickedButton, MyGridViewLibrary.MyGridView grid)
        {
            try
            {
                if (clickedButton == "btnEdit")
                {
                    grid.Rows[rowIndex].FindControl("btnEdit").Visible = false;
                    grid.Rows[rowIndex].FindControl("btnUpd").Visible  = true;
                    grid.Rows[rowIndex].FindControl("btnCan").Visible  = true;
                    grid.Rows[rowIndex].FindControl("btnDel").Visible  = false;

                    //nascondo dropdown Record per Pagina
                    DropDownList dropDownListRecordPagina = this.Page.Form.FindControl("DropDownListRecordPagina") as DropDownList;
                    if (dropDownListRecordPagina != null)
                    {
                        dropDownListRecordPagina.Visible = false;
                    }

                    //nascondo la pulsantiera
                    HtmlGenericControl toolbar = this.Page.Form.FindControl("toolbar") as HtmlGenericControl;
                    if (toolbar != null)
                    {
                        toolbar.Disabled = true;
                    }
                }
            }
            catch (Exception ex)
            {
                // Gestione messaggistica all'utente e trace in DB dell'errore
                ExceptionPolicy.HandleException(ex, "Propagate Policy");
            }
        }
        /// <summary>
        /// Genera MyGridView
        /// </summary>
        /// <param name="gridView">Id MyGridView</param>
        /// <param name="booViewRecordPagina">Flag per visualizzare/nascondere la DropDownList Record per Pagina</param>
        /// <param name="booViewTotaleRecordPagina">Flag per visualizzare il totale Record Pagina</param>
        protected void GenerateStardardMyGridView(string MyGridView, bool booViewTotaleRecordPagina, bool booViewRecordPagina)
        {
            if (this.Page.Form != null)
            {
                MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl(MyGridView) as MyGridViewLibrary.MyGridView;

                if (gridView != null)
                {
                    if (booViewRecordPagina)
                    {
                        DropDownList dropDownListRecordPagina = this.Page.Form.FindControl("DropDownListRecordPagina") as DropDownList;
                        GenerateDropDownListRecordPagina();

                        HtmlGenericControl LabelRecordPagina = this.Page.Form.FindControl("LabelRecPagina") as HtmlGenericControl;
                        if (LabelRecordPagina != null)
                        {
                            LabelRecordPagina.InnerText = GetValueDizionarioUI("RECORD_PAGINA");
                        }
                    }

                    gridView.AllowPaging            = true;
                    gridView.AllowSorting           = true;
                    gridView.AutoGenerateColumns    = false;
                    gridView.EnableViewState        = true;
                    gridView.AutoGenerateEditButton = false;
                    gridView.PagerSettings.Mode     = PagerButtons.NumericFirstLast;
                    //gridView.PagerSettings.Visible = true;
                    gridView.AlternatingRowStyle.CssClass = "ars";

                    DropDownList recordPagina = this.Page.Form.FindControl("DropDownListRecordPagina") as DropDownList;
                    gridView.PageSize = Convert.ToInt32(recordPagina.Items[0].Value);

                    VPage_Index        = Convert.ToInt32(Request.QueryString["PAGE_INDEX"]);
                    gridView.PageIndex = VPage_Index;

                    //assegnazione Css
                    gridView.CssClass                  = "tableBrowser";
                    gridView.HeaderStyle.CssClass      = "testataTabelle";
                    gridView.PagerStyle.CssClass       = "GridViewPaginationLink";
                    gridView.SelectedRowStyle.CssClass = "selectedRowGridView";
                    //gridView.FooterRow.CssClass = "GridViewFooter";

                    //gridView.SelectedRowStyle.BackColor = "White";
                    //gridView.AlternatingRowStyle.BackColor = "White";
                    //gridView.BackColor = "White";

                    VGridViewColNames = MapGridViewColumnNames(gridView);

                    if (booViewTotaleRecordPagina)
                    {
                        Label LabelNroRecord = this.Page.Form.FindControl("LabelNroRecord") as Label;
                        if (LabelNroRecord != null)
                        {
                            LabelNroRecord.Text = "";
                        }
                    }
                }
            }
        }
        /// <summary>
        /// Questa funzione è stata creata per far funzionare il numero di record per pagina in quei browser dove ci sono
        /// più dropdown diverse (quindi più browser nella stessa pagina) è per le pagine vecchie, non per quelle nuove.
        /// </summary>
        /// <param name="idGridView"></param>
        /// <param name="idDropDownList"></param>
        protected void DropDownListRecPagina_SelectedIndexChanged(string idGridView, string idDropDownList)
        {
            if (this.Page.Form != null)
            {
                MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl(idGridView) as MyGridViewLibrary.MyGridView;
                DropDownList dropDownListRecordPagina = this.Page.Form.FindControl(idDropDownList) as DropDownList;

                if (gridView != null)
                {
                    gridView.PageSize = Convert.ToInt32(dropDownListRecordPagina.SelectedValue);
                    gridView.DataBind();
                }
            }
        }
        protected void DropDownListRecPagina_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (NoGridViewEditing())
            {
                if (this.Page.Form != null)
                {
                    MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl("GridView") as MyGridViewLibrary.MyGridView;
                    DropDownList dropDownListRecordPagina = this.Page.Form.FindControl("DropDownListRecordPagina") as DropDownList;

                    if (gridView != null)
                    {
                        gridView.PageSize = Convert.ToInt32(dropDownListRecordPagina.SelectedValue);
                        callContentFunction("LoadDataSource");
                    }
                }
            }
        }
        /// <summary>
        ///
        /// </summary>
        protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            if (NoGridViewEditing())
            {
                //Si perde la riga selezionata
                VPage_Index = e.NewPageIndex;

                if (this.Page.Form != null)
                {
                    MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl("GridView") as MyGridViewLibrary.MyGridView;

                    if (gridView != null)
                    {
                        gridView.PageIndex = e.NewPageIndex;

                        callContentFunction("LoadDataSource");
                    }
                }
            }
        }
        protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
        {
            if (NoGridViewEditing())
            {
                if (this.Page.Form != null)
                {
                    MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl("GridView") as MyGridViewLibrary.MyGridView;

                    if (gridView != null)
                    {
                        if (e.SortExpression == VSortExpression)
                        {
                            if (VSortDirection == "ASC")
                            {
                                VSortDirection = "DESC";
                            }
                            else
                            {
                                VSortDirection = "ASC";
                            }
                        }
                        else
                        {
                            VSortDirection = "ASC";
                        }

                        VSortExpression = e.SortExpression;

                        gridView.VSortExpression = e.SortExpression;
                        gridView.VSortDirection  = VSortDirection;

                        callContentFunction("LoadDataSource");
                    }
                }
            }
            else
            {
                e.Cancel = true;
            }
        }
        protected void GridView_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        {
            try
            {
                if (this.Page.Form != null)
                {
                    MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl("GridView") as MyGridViewLibrary.MyGridView;

                    if (gridView != null)
                    {
                        gridView.EditIndex = -1;

                        base.ReleaseLock();

                        callContentFunction("LoadDataSource");
                    }
                }
            }
            catch (Exception ex)
            {
                // Gestione messaggistica all'utente e trace in DB dell'errore
                ExceptionPolicy.HandleException(ex, "Propagate Policy");
            }
        }
        /// <summary>
        /// GridView_RowDataBound
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="editorType">Tipologia di visualizzazione editor</param>
        /// <param name="keyName">Chiave della tabella</param>
        /// <param name="enableViewDetail">Visualizza browser di dettaglio</param>
        /// <param name="srcBrowserDetail">Src dell'iframe che contiene il browser di dettaglio</param>
        protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e, int editorType, string keyName, bool enableViewDetail, string srcBrowserDetail)
        {
            if (this.Page.Form != null)
            {
                MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl("GridView") as MyGridViewLibrary.MyGridView;

                if (gridView != null)
                {
                    try
                    {
                        //Nella riga dedicata alla creazione di una nuova tratta sostituisco l'icona del MODIFICA
                        //con l'icona dell'aggiungi.
                        Button btnEdit = (Button)e.Row.FindControl("btnEdit");
                        //ImageButton btnDelete = (ImageButton)e.Row.FindControl("btnDel");
                        Button btnDelete = (Button)e.Row.FindControl("btnDel");
                        Button btnDetail = (Button)e.Row.FindControl("btnDetail");
                        Button btnUpdate = (Button)e.Row.FindControl("btnUpd");
                        Button btnCancel = (Button)e.Row.FindControl("btnCan");
                        Button btnSelect = (Button)e.Row.FindControl("btnSel");

                        if (e.Row.RowIndex != -1)
                        {
                            Int32 idRiga = Convert.ToInt32(gridView.DataKeys[e.Row.RowIndex].Values[keyName]);

                            btnDelete.ToolTip          = GetValueDizionarioUI("ELIMINA");
                            btnDelete.CssClass         = "buttonRowBrowser buttonDimension btnDel";
                            btnDelete.CommandName      = "Delete";
                            btnDelete.CausesValidation = false;
                            btnDelete.OnClientClick    = "if(confirm('" + GetValueDizionarioUI("ELIMINA_RECORD") + "')){return true;}else{return false;}";

                            btnCancel.ToolTip          = GetValueDizionarioUI("ANNULLA_MODIFICHE");
                            btnCancel.CssClass         = "buttonRowBrowser buttonDimension btnCan";
                            btnCancel.CommandName      = "Cancel";
                            btnCancel.Visible          = false;
                            btnCancel.CausesValidation = false;

                            btnUpdate.ToolTip       = GetValueDizionarioUI("SALVA");
                            btnUpdate.CssClass      = "buttonRowBrowser buttonDimension btnUpd";
                            btnUpdate.CommandName   = "Update";
                            btnUpdate.Visible       = false;
                            btnUpdate.OnClientClick = "//if(checkImporto($('#hIDFieldImportoAir').val(),'#pErroriAIR','#divErroriAIR','#hErrorAirFormatField')){return true;}else{return false;}";

                            btnEdit.ToolTip          = GetValueDizionarioUI("MODIFICA");
                            btnEdit.CssClass         = "buttonRowBrowser buttonDimension btnEdit";
                            btnEdit.Visible          = false;
                            btnEdit.CommandName      = "Edit";
                            btnEdit.CausesValidation = false;

                            btnSelect.ToolTip     = GetValueDizionarioUI("SELECT");
                            btnSelect.CssClass    = "HiddenColumn";
                            btnSelect.CommandName = "Select";
                            btnSelect.Visible     = true;

                            btnDetail.ToolTip          = GetValueDizionarioUI("DETTAGLIO_RECORD");
                            btnDetail.CssClass         = "buttonRowBrowser buttonDimension btnDetail";
                            btnDetail.CausesValidation = false;
                            btnDetail.Visible          = false;

                            if (gridView.DataKeys[e.Row.RowIndex].Values[0].ToString() == "-1")
                            {
                                if (btnEdit != null)
                                {
                                    btnEdit.ToolTip  = GetValueDizionarioUI("AGGIUNGI");
                                    btnEdit.CssClass = "buttonRowBrowser buttonDimension btnAdd";
                                    ((Button)e.Row.FindControl("btnEdit")).Visible = true;
                                    //Messa questa riga per far si che cliccando sul pulsante AGGIUNGI non faccia il doppio postback
                                    //uno dovuto dal click sul pulsante e l'altro dovuto dal click sulla riga.
                                    btnEdit.OnClientClick = "return false;";
                                    btnEdit.Focus();

                                    //Nascondo la riga per l'inserimento nuovo record. Verrà visualizzata al click sul pulsante NewButton.
                                    if ((gridView.EditIndex == -1) || (gridView.EditIndex > 0))
                                    {
                                        e.Row.CssClass = "displayNone";
                                    }
                                }
                                if (btnDelete != null)
                                {
                                    btnDelete.Visible = false;
                                }
                            }
                            else
                            {
                                if (enableViewDetail)
                                {
                                    btnDetail.Visible       = true;
                                    btnDetail.OnClientClick = "loadIframeDetail('" + srcBrowserDetail + idRiga + "');return false;";
                                }
                            }

                            e.Row.Attributes.CssStyle.Add("cursor", "pointer");

                            switch (editorType)
                            {
                            case editRow_PopUp:
                                //Collego la funzione a tutte le celle con id > 0.
                                //La cella con id=0 è quella che contiene i pulsanti e gli eventuali checkbox.
                                for (int i = 1; i < e.Row.Cells.Count; i++)
                                {
                                    e.Row.Cells[i].Attributes["onclick"] = "openPopUp('" + idRiga + "');";
                                }
                                break;

                            case editRow_Inline:
                                e.Row.Attributes["onclick"] = "document.getElementById('" + e.Row.FindControl("btnSel").ClientID.ToString() + "').click();";
                                break;

                            case editRow_SubstituteBrowser:
                                for (int i = 1; i < e.Row.Cells.Count; i++)
                                {
                                    e.Row.Cells[i].Attributes["onclick"] = "substituteBrowser('" + idRiga + "');";
                                }
                                break;
                            }
                        }

                        //Se BlockGrid è True vuol dire che non posso operare sulle griglie.
                        if (BlockGrid() || qMODALITA == "VIEW")
                        {
                            if (btnDelete != null)
                            {
                                btnDelete.Visible = false;
                            }

                            if (btnEdit != null)
                            {
                                btnEdit.Visible = false;
                            }

                            e.Row.Attributes["onclick"] = "";
                        }
                    }
                    catch (Exception ex)
                    {
                        //Gestione messaggistica all'utente e trace in DB dell'errore
                        ExceptionPolicy.HandleException(ex, "Propagate Policy");
                    }
                }
            }
        }
Esempio n. 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="tableKey">Chiave riga da utilizzare per il lock</param>
        /// <param name="tableName">Tabella da utilizzare per il lock</param>
        /// <param name="focusField">Campo che riceve il focus</param>
        /// <param name="editorType">Tipologia di editor (popUp, inline, substitute)</param>
        protected void GridView_SelectedIndexChanging(object sender, GridViewSelectEventArgs e, int tableKey, string tableName, int editorType, string focusField)
        {
            if (this.Page.Form != null)
            {
                MyGridViewLibrary.MyGridView gridView = this.Page.Form.FindControl("GridView") as MyGridViewLibrary.MyGridView;

                if (gridView != null)
                {
                    try
                    {
                        int indiceRiga;

                        if (NoGridViewEditing())
                        {
                            if (!isLocked(tableKey, tableName))
                            {
                                switch (editorType)
                                {
                                case editRow_Inline:

                                    indiceRiga         = e.NewSelectedIndex + 1;
                                    gridView.EditIndex = e.NewSelectedIndex;
                                    callContentFunction("LoadDataSource");
                                    DisableButton(e.NewSelectedIndex, "btnEdit", gridView);
                                    gridView.Rows[e.NewSelectedIndex].Attributes["onclick"] = "";
                                    GridViewRow row = gridView.Rows[e.NewSelectedIndex];
                                    row.FindControl(focusField).Focus();

                                    break;

                                case editRow_PopUp:

                                    //Configurato nella GridView_RowDataBound
                                    break;

                                case editRow_SubstituteBrowser:

                                    //Configurato nella GridView_RowDataBound
                                    break;
                                }
                            }
                            else
                            {
                                ViewMessage(GetValueDizionarioUI("LOCK_MESSAGE"));
                            }
                        }
                        else
                        {
                            e.Cancel = true;
                        }
                    }
                    catch (Exception ex)
                    {
                        // Gestione messaggistica all'utente e trace in DB dell'errore
                        //ExceptionPolicy.HandleException(ex, "Propagate Policy");
                        e.Cancel = true;
                        handleUpdatePanelException(ex);
                    }
                }
            }
        }