Duda PostBack- GridView
Publicado por jesus ramon (1 intervención) el 10/01/2007 23:55:02
Buenas tardes.
Me estoy iniciando en ASP.net y tengo un problema con una pagina. La cuestion es que estoy usando un calendar control y un gridview, con el calendar pretendo manejar la informacion que se muestra en este gridview, cuando se carga por primera vez la pagina se carga la informacion referente al dia actual , este gridview en el evento rowcreated tengo codigo que cambia la vista de los renglones de acuerdo a ciertos parametros para describir el comportamiento o resultado de la informacion. Todo va bien hasta que cuando selecciono una fecha diferente, es cuando me marca un error en el evento RowCreated diciendome "Object reference not set to an instance of an object." Aqui esta el codigo en donde marca este error:
Protected Sub GridPuntual_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridPuntual.RowCreated
' If Not IsPostBack Then
If e.Row.RowType = DataControlRowType.DataRow Then
countmov += 1
If DataBinder.Eval(e.Row.DataItem, "Tiempo").Equals(DBNull.Value) Then
countdesc += 1
e.Row.BackColor = Drawing.Color.Yellow
Else
If Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Tiempo")) >= 0 Then
tot_afavor += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Tiempo"))
countfavor += 1
Else
e.Row.ForeColor = Drawing.Color.White
e.Row.BackColor = Drawing.Color.Red
tot_contra += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Tiempo"))
countcontra += 1
End If
End If
End If
If e.Row.RowType = DataControlRowType.Footer Then
e.Row.Cells(0).Text = "Tot. Mov.:" + countmov.ToString()
e.Row.Cells(2).Text = "Tot. Mov. Puntuales :" + countfavor.ToString()
e.Row.Cells(4).Text = "Tot. Mov. Tarde:" + countcontra.ToString()
e.Row.Cells(4).BackColor = Color.Red
e.Row.Cells(6).Text = "Tot. Mov. Sin info:" + countdesc.ToString()
e.Row.Cells(6).BackColor = Color.Yellow
e.Row.Cells(6).ForeColor = Color.Black
End If
'End If
End Sub
Como ven tengo en comentarios el checar si la pagina es cargada de nuevo, si quito el comentario y lo checo ya no marca error, pero los cambios a las filas ( en cuanto a diseño y a la manipulacion del row style se pierden).
Si alguien me pudiera dar un ejemplo o recomendacion para darle una solucion a este detalle se les agredece de antemano.
Saludos.
Me estoy iniciando en ASP.net y tengo un problema con una pagina. La cuestion es que estoy usando un calendar control y un gridview, con el calendar pretendo manejar la informacion que se muestra en este gridview, cuando se carga por primera vez la pagina se carga la informacion referente al dia actual , este gridview en el evento rowcreated tengo codigo que cambia la vista de los renglones de acuerdo a ciertos parametros para describir el comportamiento o resultado de la informacion. Todo va bien hasta que cuando selecciono una fecha diferente, es cuando me marca un error en el evento RowCreated diciendome "Object reference not set to an instance of an object." Aqui esta el codigo en donde marca este error:
Protected Sub GridPuntual_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridPuntual.RowCreated
' If Not IsPostBack Then
If e.Row.RowType = DataControlRowType.DataRow Then
countmov += 1
If DataBinder.Eval(e.Row.DataItem, "Tiempo").Equals(DBNull.Value) Then
countdesc += 1
e.Row.BackColor = Drawing.Color.Yellow
Else
If Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Tiempo")) >= 0 Then
tot_afavor += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Tiempo"))
countfavor += 1
Else
e.Row.ForeColor = Drawing.Color.White
e.Row.BackColor = Drawing.Color.Red
tot_contra += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Tiempo"))
countcontra += 1
End If
End If
End If
If e.Row.RowType = DataControlRowType.Footer Then
e.Row.Cells(0).Text = "Tot. Mov.:" + countmov.ToString()
e.Row.Cells(2).Text = "Tot. Mov. Puntuales :" + countfavor.ToString()
e.Row.Cells(4).Text = "Tot. Mov. Tarde:" + countcontra.ToString()
e.Row.Cells(4).BackColor = Color.Red
e.Row.Cells(6).Text = "Tot. Mov. Sin info:" + countdesc.ToString()
e.Row.Cells(6).BackColor = Color.Yellow
e.Row.Cells(6).ForeColor = Color.Black
End If
'End If
End Sub
Como ven tengo en comentarios el checar si la pagina es cargada de nuevo, si quito el comentario y lo checo ya no marca error, pero los cambios a las filas ( en cuanto a diseño y a la manipulacion del row style se pierden).
Si alguien me pudiera dar un ejemplo o recomendacion para darle una solucion a este detalle se les agredece de antemano.
Saludos.
Valora esta pregunta


0