none
Valores del rowdatabound se pierden cuando se hace un postback de la pagina. RRS feed

  • Pregunta

  • Buenas Tardes.. tengo la siguiente situacion:

    Lleno una grilla dentro de un updatepanel y hago un databound asi:

    if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    string strEstado = e.Row.Cells[4].Text.ToString();
                    if (strEstado == "False")
                        e.Row.Cells[4].Text = "Inactivo";
                    else
                        e.Row.Cells[4].Text = "Activo";
    
                    string strResidente = e.Row.Cells[3].Text.ToString();
                    if (strResidente == "False")
                        e.Row.Cells[3].Text = "NO";
                    else
                        e.Row.Cells[3].Text = "SI";
                }

    Cuando hago un postback de la pagina los valores se pierden. Por que ocurre esto. Gracias

    martes, 3 de noviembre de 2015 22:06

Respuestas

  • >>cuando se genera el evento no entra por ahi con el breakpoint

    mm entonces no entiendo porque se puede estar perdiendo la informacion que mencionas

    si quitas el UpdatePanel se genera el mismo problema? al menos para validar si algo del updatepanel podria estar afecando al solo actualizar una seccion de la pagina


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 4 de noviembre de 2015 16:09

Todas las respuestas

  • Hola nelson111:

    Yo haria pregunta de si es un Postback.

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
      if (!IsPostBack)
      {
       string strEstado = e.Row.Cells[4].Text.ToString();
       if (strEstado == "False")
          e.Row.Cells[4].Text = "Inactivo";
       else
          e.Row.Cells[4].Text = "Activo";
    
       string strResidente = e.Row.Cells[3].Text.ToString();
       if (strResidente == "False")
          e.Row.Cells[3].Text = "NO";
       else
          e.Row.Cells[3].Text = "SI";
      }
    }

    Y con ello se solucionaría tu inconveniente.

    Saludos,


    Camilo Villa

    martes, 3 de noviembre de 2015 22:33
  • hola

    >>Cuando hago un postback de la pagina los valores se pierden

    en que evento cargas los datos del grid ? sie s en el Page_Load recuerda que ese codigo debe ir dentro del

    if(!IsPostBack){

      //aqui cargas el grid

    }

    ya que sino cada evento volvera a cargar lso datos 

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 4 de noviembre de 2015 7:36
  • Hola Leandro .. efectivamente esta asi ... y se pierden ... 

    protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    CargarGrilla();
                    AlistaFiltros();
                }
            }
    
    public void CargarGrilla()
            {
                try
                {
                    lstUsuario = objCliente.ObtenerUsuarios();
                    var prueba = lstUsuario.OrderBy(x => x.UsuNombres).ToList();
    
                    Session["DataUsuarios"] = lstUsuario;
                    grvUsuario.DataSource = prueba;
                    grvUsuario.DataBind();
    
                }
                catch (SqlException ex)
                {
                    System.Console.Error.Write(ex.Message);
                }
            }


    miércoles, 4 de noviembre de 2015 13:36
  • Estimado nelson111:

    Efectivamente no es solo necesario validarlo en la carga, tambien en el row databound, que es el evento que tiene ingerencia en este momento en tu escenario.

    Saludos cordiales.


    Camilo Villa

    miércoles, 4 de noviembre de 2015 13:40
  • si defines un breakpoint en CargarGrilla()

    al generarse el evento puedes validar que ingresa por alli?


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 4 de noviembre de 2015 14:25
  • Hola Leandro ... cuando se genera el evento no entra por ahi con el breakpoint ... 
    miércoles, 4 de noviembre de 2015 15:02
  • >>cuando se genera el evento no entra por ahi con el breakpoint

    mm entonces no entiendo porque se puede estar perdiendo la informacion que mencionas

    si quitas el UpdatePanel se genera el mismo problema? al menos para validar si algo del updatepanel podria estar afecando al solo actualizar una seccion de la pagina


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 4 de noviembre de 2015 16:09
  • Quitando el updatepanel pasa exactamente lo mismo. Los datos al recargar la pagina se pierden ... 
    miércoles, 4 de noviembre de 2015 16:52