protected void gridExcel_RowDataBound(object sender, GridViewRowEventArgs e) { string mensaje = ""; string fechaCoordinacion = ""; string descripcion = ""; string inmueble = ""; DataTable dt = ViewState["dataSource"] as DataTable; if (e.Row.RowType == DataControlRowType.DataRow) { TableRow row = e.Row; int index = 0; index = Convert.ToInt32(((Label)row.FindControl("Index")).Text); #region fecha Observacion Label label = (Label)row.FindControl("Fecha"); if (label.Text.Trim() != "") { try { label.Text = DateTime.Parse(label.Text).ToString("dd-MM-yyyy"); } catch (Exception ex) { mensaje = ex.Message; mensaje = "Error en la fecha de observación en la fila: " + index + "."; } } #endregion #region Fecha Entrega label = (Label)row.FindControl("FechaEntrega"); if (label.Text.Trim() != "") { try { label.Text = DateTime.Parse(label.Text).ToString("dd-MM-yyyy"); } catch (Exception ex) { mensaje = ex.Message; mensaje = "Error en la fecha de Entrega en la fila: " + index + "."; } } #endregion #region Fecha Coordinacion label = (Label)row.FindControl("FechaCoordinacion"); if (label.Text.Trim() != "") { try { label.Text = DateTime.Parse(label.Text).ToString("dd-MM-yyyy"); fechaCoordinacion = label.Text; } catch (Exception ex) { mensaje = ex.Message; mensaje = "Error en la fecha de Coordinación en la fila: " + index + "."; } } #endregion #region Hora Inicio label = (Label)row.FindControl("HoraInicio"); if (label.Text.Trim() != "") { try { label.Text = DateTime.Parse(label.Text).ToString("HH:mm"); Hora hora = DatosHoras.BuscarHoraPorDescripcion(label.Text); if (hora.Id == 0) { throw new Exception("Error de formato en hora de Inicio en la fila: " + index + "."); } } catch (Exception ex) { mensaje = ex.Message; mensaje = "Error en la Hora de Inicio en la fila: " + index + "."; } } #endregion #region Hora Término label = (Label)row.FindControl("HoraTermino"); if (label.Text.Trim() != "") { try { label.Text = DateTime.Parse(label.Text).ToString("HH:mm"); Hora hora = DatosHoras.BuscarHoraPorDescripcion(label.Text); if (hora.Id == 0) { throw new Exception("Error de formato en hora de Termino en la fila: " + index + "."); } } catch (Exception ex) { mensaje = ex.Message; mensaje = "Error en la Hora de término en la fila: " + index + "."; } } #endregion #region Descripcion label = (Label)row.FindControl("Observación"); string obs = label.Text; if (obs.Trim() == "") { mensaje = "La descripcion en la fila " + index + " está vacía."; } else { string flag = obs.ElementAt(0) + "" + obs.ElementAt(1) + "" + obs.ElementAt(2) + ""; if (flag.Trim() == "-") { flag = ""; for (int i = 2; i < obs.Length; i++) { flag += obs.ElementAt(i) + ""; } label.Text = flag; dt.Rows[index - 1].BeginEdit(); dt.Rows[index - 1]["Observación"] = flag; dt.Rows[index - 1].EndEdit(); } descripcion = obs; } #endregion #region Inmueble label = (Label)row.FindControl("Inmueble"); if (label.Text.Trim() == "") { mensaje = "No existe departamento en la fila: " + index + "."; } inmueble = label.Text; #endregion if (DatosObservacion.CompararObservacionPlantilla(inmueble, descripcion, fechaCoordinacion)) { } else { ViewState["plantillaCargada"] = "false"; } ViewState["dataSource"] = dt; if (mensaje != "") { btnGrabar.Enabled = false; btnGrabar.CssClass = "btn btn-danger"; divMensaje.Attributes.Add("class", "alert alert-success col-md-8"); lblMensaje.Text = mensaje; } } }