using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using SteamWare; using MedPred_Data; using System.Data; namespace MedPred { public partial class VLab : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected int IdxPaziente { get { return memLayer.ML.IntSessionObj("IdxPaziente"); } } /// /// richiesta nuovo record /// /// /// protected void lbNew_Click(object sender, EventArgs e) { grView.ShowFooter = true; } /// /// elenco colonne del datagrid /// /// protected DataColumnCollection colonneObj() { DS_Applicazione.VisLabDataTable tabella = new MedPred_Data.DS_Applicazione.VisLabDataTable(); DataColumnCollection colonne = tabella.Columns; return colonne; } /// /// 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("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 "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("chk{0}", nomeCol))).Checked; break; default: break; } tipoColonna = ""; } // sistemo data... e.InputParameters["DataVisita"] = Convert.ToDateTime(e.InputParameters["DataVisita"]); e.InputParameters["Glicemia"] = Convert.ToDouble(e.InputParameters["Glicemia"]); e.InputParameters["ColesTot"] = Convert.ToDouble(e.InputParameters["ColesTot"]); e.InputParameters["LDL"] = Convert.ToDouble(e.InputParameters["LDL"]); e.InputParameters["HDL"] = Convert.ToDouble(e.InputParameters["HDL"]); e.InputParameters["Trigliceridi"] = Convert.ToDouble(e.InputParameters["Trigliceridi"]); e.InputParameters["ColRapLDLHDL"] = Convert.ToDouble(e.InputParameters["ColRapLDLHDL"]); e.InputParameters["Creatinina"] = Convert.ToDouble(e.InputParameters["Creatinina"]); e.InputParameters["Omocisteina"] = Convert.ToDouble(e.InputParameters["Omocisteina"]); e.InputParameters["MHTFR"] = Convert.ToDouble(e.InputParameters["MHTFR"]); e.InputParameters["FattII"] = Convert.ToDouble(e.InputParameters["FattII"]); e.InputParameters["FattV"] = Convert.ToDouble(e.InputParameters["FattV"]); } /// /// inserisce nuovo valore da footer /// /// /// protected void lblIns_click(object sender, EventArgs e) { // click su inserimento, chiamo il metodo insert dell'ObjectDataSource ods.Insert(); } protected void ods_Inserted(object sender, ObjectDataSourceStatusEventArgs e) { grView.ShowFooter = false; } protected void grView_RowDataBound(object sender, GridViewRowEventArgs e) { string cmd = Request.QueryString["cmd"]; if (cmd == "sel") { try { if (((DS_Applicazione.VisGenRow)((DataRowView)e.Row.DataItem).Row).DataVisita == Convert.ToDateTime(memLayer.ML.StringSessionObj("DataVisita"))) { memLayer.ML.setSessionVal("IdxRowVGen", e.Row.DataItemIndex); Response.Redirect("VLab"); } } catch { } } } } }