private void BindGrid(int currentPage) { try { SisPackController.AdministrarGrillas.Configurar(this.dtgEmails, "EmailID", this.CantidadOpciones); if (Session["dsEmails"] == null) { IEmail emails = EmailFactory.GetEmail(); emails.TipoAvisoID = this.ddlTipoAvisoConsul.SelectedValue.Trim().Equals("")?0:Convert.ToInt32(this.ddlTipoAvisoConsul.SelectedValue.Trim()); this.dsEmails = emails.GetEmailDataSet(); emails = null; } else { this.dsEmails = (DsEmail)Session["dsEmails"]; if (this.dtgEmails.EditItemIndex != -1) { /* Si se desea editar o agregar un registro. */ DataGridItem item = this.dtgEmails.Items[this.dtgEmails.EditItemIndex]; DsEmail.DatosRow dr = (DsEmail.DatosRow) this.dsEmails.Datos.Rows[item.DataSetIndex]; TextBox emailID = (TextBox)item.FindControl("txtEmailID"); dr.EmailID = Convert.ToInt32(emailID.Text.Trim()); TextBox denominacion = (TextBox)item.FindControl("txtDenominacion"); dr.Denominacion = denominacion.Text.Trim(); TextBox direccion = (TextBox)item.FindControl("txtDireccion"); dr.Direccion = direccion.Text.Trim(); DropDownList tipoAviso = (DropDownList)item.FindControl("ddlTipoAviso"); string selValue = tipoAviso.SelectedValue; dr.TipoAvisoID = selValue == "" ? 0 : Convert.ToInt32(selValue); item = null; dr = null; emailID = null; denominacion = null; direccion = null; tipoAviso = null; } } Session["dsEmails"] = this.dsEmails; this.dtgEmails.DataSource = this.dsEmails; this.dtgEmails.CurrentPageIndex = currentPage; this.dtgEmails.DataBind(); } catch (Exception ex) { throw ex; } }
protected void dtgEmails_UpdateCommand(object source, DataGridCommandEventArgs e) { try { /* Obtener los datos de la grilla. */ this.dsEmails = (DsEmail)Session["dsEmails"]; /* Posicionarse en el registro deseado. */ DsEmail.DatosRow dr; if (this.dtgEmails.CurrentPageIndex > 0) { dr = (DsEmail.DatosRow) this.dsEmails.Datos.Rows[this.dtgEmails.CurrentPageIndex * e.Item.DataSetIndex]; } else { dr = (DsEmail.DatosRow) this.dsEmails.Datos.Rows[e.Item.DataSetIndex]; } IEmail email = EmailFactory.GetEmail(); email.EmailID = dr.EmailID; email.Denominacion = dr.Denominacion; email.Direccion = dr.Direccion; email.TipoAvisoID = dr.TipoAvisoID; email.Guardar(); dr = null; email = null; this.dtgEmails.EditItemIndex = -1; Session["dsEmails"] = null; this.BindGrid(0); } catch (Exception ex) { string mensaje = ex.Message; try { if (mensaje == "" || mensaje == null) { mensaje = ex.Message; } } catch (Exception) { mensaje = ex.Message; } ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } }
protected void dtgEmails_DeleteCommand(object source, DataGridCommandEventArgs e) { try { string script; /* Obtener los datos de la grilla. */ this.dsEmails = (DsEmail)Session["dsEmails"]; /* Posicionarse en el registro deseado. */ DsEmail.DatosRow dr = (DsEmail.DatosRow) this.dsEmails.Datos.Rows[e.Item.DataSetIndex]; IEmail email = EmailFactory.GetEmail(); email.EmailID = dr.EmailID; if (!email.Eliminar()) { /** Si se produjo algún error **/ script = "<script language='javascript'>\n"; script += "alert('La eliminación no se realizó debido a errores.');\n"; script += "</script>"; Page.RegisterStartupScript("scriptError", script); } dr = null; email = null; this.dtgEmails.EditItemIndex = -1; Session["dsEmails"] = null; this.BindGrid(0); } catch (Exception ex) { string mensaje = ex.Message; try { if (mensaje == "" || mensaje == null) { mensaje = ex.Message; } } catch (Exception) { mensaje = ex.Message; } ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje); } }