From 500b200860edb67da7d4d227f67faa5349c4fdea Mon Sep 17 00:00:00 2001 From: samuele Date: Thu, 22 Jan 2009 11:15:34 +0000 Subject: [PATCH] Bozza elenco richieste... git-svn-id: https://keyhammer.ath.cx/svn/WebGIM/trunk@27 3e04ef4b-3b25-4b6c-be27-bb5389ca777b --- WebSites/WebGIM/elencoRichieste.aspx | 8 + ...hieste.aspx.cs => elencoRichieste.aspx.cs} | 2 +- WebSites/WebGIM/listRichieste.aspx | 8 - WebSites/WebGIM/mod_elencoRichieste.ascx | 124 ++++++ WebSites/WebGIM/mod_elencoRichieste.ascx.cs | 376 ++++++++++++++++++ WebSites/WebGIM/mod_insertRichiesta.ascx | 2 +- WebSites/WebGIM/mod_listRichieste.ascx | 1 - WebSites/WebGIM/mod_listRichieste.ascx.cs | 13 - 8 files changed, 510 insertions(+), 24 deletions(-) create mode 100644 WebSites/WebGIM/elencoRichieste.aspx rename WebSites/WebGIM/{listRichieste.aspx.cs => elencoRichieste.aspx.cs} (73%) delete mode 100644 WebSites/WebGIM/listRichieste.aspx create mode 100644 WebSites/WebGIM/mod_elencoRichieste.ascx create mode 100644 WebSites/WebGIM/mod_elencoRichieste.ascx.cs delete mode 100644 WebSites/WebGIM/mod_listRichieste.ascx delete mode 100644 WebSites/WebGIM/mod_listRichieste.ascx.cs diff --git a/WebSites/WebGIM/elencoRichieste.aspx b/WebSites/WebGIM/elencoRichieste.aspx new file mode 100644 index 0000000..0de35a3 --- /dev/null +++ b/WebSites/WebGIM/elencoRichieste.aspx @@ -0,0 +1,8 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/AjaxSearch.master" AutoEventWireup="true" CodeFile="elencoRichieste.aspx.cs" Inherits="elencoRichieste" %> + +<%@ Register src="mod_elencoRichieste.ascx" tagname="mod_elencoRichieste" tagprefix="uc1" %> + + + + + diff --git a/WebSites/WebGIM/listRichieste.aspx.cs b/WebSites/WebGIM/elencoRichieste.aspx.cs similarity index 73% rename from WebSites/WebGIM/listRichieste.aspx.cs rename to WebSites/WebGIM/elencoRichieste.aspx.cs index e717916..f70cb26 100644 --- a/WebSites/WebGIM/listRichieste.aspx.cs +++ b/WebSites/WebGIM/elencoRichieste.aspx.cs @@ -4,7 +4,7 @@ using System.Web; using System.Web.UI; using System.Web.UI.WebControls; -public partial class listRichieste : System.Web.UI.Page +public partial class elencoRichieste : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { diff --git a/WebSites/WebGIM/listRichieste.aspx b/WebSites/WebGIM/listRichieste.aspx deleted file mode 100644 index 7c16b92..0000000 --- a/WebSites/WebGIM/listRichieste.aspx +++ /dev/null @@ -1,8 +0,0 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/AjaxSearch.master" AutoEventWireup="true" CodeFile="listRichieste.aspx.cs" Inherits="listRichieste" %> - -<%@ Register src="mod_listRichieste.ascx" tagname="mod_listRichieste" tagprefix="uc1" %> - - - - - diff --git a/WebSites/WebGIM/mod_elencoRichieste.ascx b/WebSites/WebGIM/mod_elencoRichieste.ascx new file mode 100644 index 0000000..1a90ca6 --- /dev/null +++ b/WebSites/WebGIM/mod_elencoRichieste.ascx @@ -0,0 +1,124 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="mod_elencoRichieste.ascx.cs" + Inherits="mod_elencoRichieste" %> +<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> +
+ area filtraggi vari +
+
+ + + + + + + + + + + + + + <%-- + + + + + +   + + + + + + + + + + + + + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + + + + + + + + + + + + + + + + + --%> + + + + + + + + + +
diff --git a/WebSites/WebGIM/mod_elencoRichieste.ascx.cs b/WebSites/WebGIM/mod_elencoRichieste.ascx.cs new file mode 100644 index 0000000..17db424 --- /dev/null +++ b/WebSites/WebGIM/mod_elencoRichieste.ascx.cs @@ -0,0 +1,376 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using SteamWare; +using System.Data; + +public partial class mod_elencoRichieste : ApplicationUserControl +{ + #region area da NON modificare + + #region area protected + + protected string _idxGridView; + protected string _idxGridViewExt; + protected bool _showNewBtn = false; + + /// + /// imposta errore non cancellabilità per record correlati + /// + protected void setNoDeletableErrorMessage() + { + // mostro avviso di non cancellabilità... + lblWarning.Text = traduci("notDeletable_hasChild"); + lblWarning.Visible = true; + grView.DataBind(); + } + /// + /// esegue cancellazione record + /// + protected void doDelete() + { + // posso cancellare... + lblWarning.Visible = false; + ods.Delete(); + } + /// + /// Valida la cancellazione per i dati mostrati dal gridView + /// richiede sia preventivamentedichiarato _idxGridView + /// + /// + /// + protected virtual void validaDelete(object sender, ObjectDataSourceMethodEventArgs e) + { + int idx = Convert.ToInt32(e.InputParameters[string.Format("Original_{0}", _idxGridView)]); + if (objIsNotRelated(idx)) + { + // annullo cancellazione... + e.Cancel = true; + // seleziono record... metto in session valore idx e poi ridisegno... + SteamWare.memLayer.ML.setSessionVal(_idxGridView, idx); + setNoDeletableErrorMessage(); + } + else + { + doDelete(); + } + } + + /// + /// recupera i dati di un nuovo record contenuti nel footer di un gridView; + /// questi devono esses opportunamente nominati (es: txt{0}, dl{0}, ...) + /// + /// + /// + protected void recuperaFooter(object sender, ObjectDataSourceMethodEventArgs e) + { + //recupero la riga footer... + DataColumnCollection colonne = colonneObj(); + string nomeCol; + string tipoColonna = ""; + foreach (DataColumn colonna in colonne) + { + nomeCol = colonna.ColumnName; + // cerco un textbox o quello che sia... + if (grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol)) != null) + { + tipoColonna = "textBox"; + } + else if (grView.FooterRow.FindControl(string.Format("cal_{0}", nomeCol)) != null) + { + tipoColonna = "calTextBox"; + } + else if (grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol)) != null) + { + tipoColonna = "dropDownList"; + } + else if (grView.FooterRow.FindControl(string.Format("chk{0}", nomeCol)) != null) + { + tipoColonna = "checkBox"; + } + else if (grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol)) != null) + { + tipoColonna = "selAjax"; + } + // in base al tipo salvo negli inputparameters dell'ODS + switch (tipoColonna) + { + case "textBox": + e.InputParameters[nomeCol] = ((TextBox)grView.FooterRow.FindControl(string.Format("txt{0}", nomeCol))).Text; + break; + case "calTextBox": + e.InputParameters[nomeCol] = Convert.ToDateTime(((TextBox)grView.FooterRow.FindControl(string.Format("cal_{0}", nomeCol))).Text); + break; + case "dropDownList": + e.InputParameters[nomeCol] = ((DropDownList)grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol))).SelectedValue; + break; + case "checkBox": + e.InputParameters[nomeCol] = ((CheckBox)grView.FooterRow.FindControl(string.Format("dl{0}", nomeCol))).Checked; + break; + case "selAjax": + e.InputParameters[nomeCol] = ((mod_selettore_ajax)grView.FooterRow.FindControl(string.Format("selAjax_{0}", nomeCol))).valore; + break; + default: + break; + } + tipoColonna = ""; + } + } + /// + /// inserisce nuovo valore da footer + /// + /// + /// + protected void lblIns_click(object sender, EventArgs e) + { + // click su inserimento, chiamo il metodo insert dell'ObjectDataSource + ods.Insert(); + } + /// + /// annulla inserimento nuovo valore da footer + /// + /// + /// + protected void lblCanc_click(object sender, EventArgs e) + { + // annullo inserimento: nascondo footer, bind controlli... + grView.FooterRow.Visible = false; + } + + /// + /// aggiorna controlli datagrid e numero righe in pagina + /// + protected override void aggiornaControlliDataGL() + { + base.aggiornaControlliDataGL(); + grView.PageSize = _righeDataGridMed; + } + /// + /// traduce gli header delle colonne + /// + /// + /// + protected void grView_DataBound(object sender, EventArgs e) + { + if (grView.Rows.Count > 0) + { + LinkButton lb; + // aggiorno gli headers + foreach (TableCell cella in grView.HeaderRow.Cells) + { + try + { + lb = (LinkButton)cella.Controls[0]; + lb.Text = traduci(lb.Text); + } + catch + { } + } + int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1); + lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord); + } + else + { + lblNumRec.Text = ""; + } + } + /// + /// gestione evento richeista nuovo valore (mostra footer, ...) + /// + /// + /// + protected void btnNew_Click(object sender, EventArgs e) + { + // reset selezione... + resetSelezione(); + // mostro il footer oppure la riga dei dettagli x nuovo... + if (grView.FooterRow != null) + { + grView.FooterRow.Visible = true; + } + // sollevo evento nuovo valore... + if (eh_nuovoValore != null) + { + eh_nuovoValore(this, new EventArgs()); + } + } + /// + /// reset della selezione + /// + /// + /// + protected void btnReset_Click(object sender, EventArgs e) + { + resetSelezione(); + } + /// + /// gestione cambio selezione valore + /// + /// + /// + protected void grView_SelectedIndexChanged(object sender, EventArgs e) + { + // salvo in session il valore selezionato... + SteamWare.memLayer.ML.setSessionVal(string.Format("{0}_sel", _idxGridView), grView.SelectedValue); + // sollevo evento nuovo valore... + if (eh_selValore != null) + { + eh_selValore(this, new EventArgs()); + } + } + /// + /// resetta la selezione dei valori in caso di modifiche su altri controlli + /// + public void resetSelezione() + { + SteamWare.memLayer.ML.emptySessionVal(string.Format("{0}_sel", _idxGridView)); + grView.SelectedIndex = -1; + grView.DataBind(); + lblWarning.Visible = false; + if (eh_resetSelezione != null) + { + eh_resetSelezione(this, new EventArgs()); + } + } + + #endregion + + #region gestione eventi + + public event EventHandler eh_resetSelezione; + public event EventHandler eh_nuovoValore; + public event EventHandler eh_selValore; + + #endregion + + #region public + + /// + /// definisce visibilità btnNew + /// + public bool showNewBtn + { + get + { + return _showNewBtn; + } + set + { + _showNewBtn = value; + } + } + /// + /// effettua update del modulo + /// + public void doUpdate() + { + resetSelezione(); + } + + + #endregion + + #endregion + + #region area codice variabile + + /// + /// verifica complessiva non esistenza record child + /// + /// + /// + protected bool objIsNotRelated(object idxObj) + { + return false;// taMacchine.getByIdxFase(idxObj.ToString()).Rows.Count == 0; + } + /// + /// elenco colonne del datagrid + /// + /// + protected DataColumnCollection colonneObj() + { + DS_applicazione.v_intervExpDataTable tabella = new DS_applicazione.v_intervExpDataTable(); + DataColumnCollection colonne = tabella.Columns; + return colonne; + } + /// + /// inizializzazione valori di default + /// + /// + protected override void OnInit(EventArgs e) + { + base.OnInit(e); + _idxGridView = "numIntMtz"; + } + /// + /// setta selected alla riga il cui valore key è in session + /// + /// + /// + protected void grView_RowDataBound(object sender, GridViewRowEventArgs e) + { + // se riga di dati... + if (e.Row.RowType == DataControlRowType.DataRow) + { + // ottengo la riga tipizzata... + System.Data.DataRowView _drv = (System.Data.DataRowView)e.Row.DataItem; + DS_applicazione.v_intervExpRow riga = (DS_applicazione.v_intervExpRow)_drv.Row; + if (SteamWare.memLayer.ML.StringSessionObj(_idxGridView) == riga.idxImpianto.ToString()) + { + grView.SelectedIndex = e.Row.RowIndex; + // salvo in session il valore selezionato... + SteamWare.memLayer.ML.setSessionVal(string.Format("{0}_sel", _idxGridView), SteamWare.memLayer.ML.StringSessionObj(_idxGridView)); + // sollevo evento nuovo valore... + if (eh_selValore != null) + { + eh_selValore(this, new EventArgs()); + } + } + } + } + /// + /// svuoto da cache post update + /// + /// + /// + protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e) + { + // svuoto da cache... + } + /// + /// in caso di aggiornamento verifico se sia salvato un comando clona... + /// + /// + /// + protected void grView_RowUpdating(object sender, GridViewUpdateEventArgs e) + { + // carico l'idx dell'oggetto + int _idx = Convert.ToInt32(e.Keys["numIntMtz"]); + string _comando = ""; + if (SteamWare.memLayer.ML.isInSessionObject("nextObjCommand")) + { + _comando = SteamWare.memLayer.ML.StringSessionObj("nextObjCommand"); + SteamWare.memLayer.ML.emptySessionVal("nextObjCommand"); + } + // verifico il tipo di richiesta (up/down level, clona o update normale + switch (_comando) + { + case "clonaObj": +#if false + TA_app.obj.taImpianti.sp_clonaImpianto(_idx); + grView.EditIndex = -1; + grView.DataBind(); +#endif + // blocco update! + e.Cancel = true; + break; + default: + // faccio update! + break; + } + } + + #endregion +} diff --git a/WebSites/WebGIM/mod_insertRichiesta.ascx b/WebSites/WebGIM/mod_insertRichiesta.ascx index 0e07371..426042d 100644 --- a/WebSites/WebGIM/mod_insertRichiesta.ascx +++ b/WebSites/WebGIM/mod_insertRichiesta.ascx @@ -162,7 +162,7 @@
   - + diff --git a/WebSites/WebGIM/mod_listRichieste.ascx b/WebSites/WebGIM/mod_listRichieste.ascx deleted file mode 100644 index b63c23c..0000000 --- a/WebSites/WebGIM/mod_listRichieste.ascx +++ /dev/null @@ -1 +0,0 @@ -<%@ Control Language="C#" AutoEventWireup="true" CodeFile="mod_listRichieste.ascx.cs" Inherits="mod_listRichieste" %> diff --git a/WebSites/WebGIM/mod_listRichieste.ascx.cs b/WebSites/WebGIM/mod_listRichieste.ascx.cs deleted file mode 100644 index d58632a..0000000 --- a/WebSites/WebGIM/mod_listRichieste.ascx.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; - -public partial class mod_listRichieste : System.Web.UI.UserControl -{ - protected void Page_Load(object sender, EventArgs e) - { - - } -}