none
En c#, añadir filas a tabla en tiempo de ejecución RRS feed

  • Pregunta

  • Hola, estoy intentando añadir filas a una tabla en tiempo de ejecución, las lineas se añaden pero no consigo refrescar la pantalla para que me lo mueste en pantalla.

    Pongo el codigo de aspx

    <div id="TituloTablas" style="display:none;" runat="server">
            <asp:Table ID="TablePrep" runat="server">
                <asp:TableHeaderRow>
                    <asp:TableHeaderCell>Nombre Documento</asp:TableHeaderCell>
                    <asp:TableHeaderCell>Documento</asp:TableHeaderCell>
                </asp:TableHeaderRow>
            </asp:Table>
        </div>

    y añado la función de  codebehind desde donde intento crear la fila:

     protected void AñadirDocumentoInterno(string sDocNuevo)
        {
         
            string[] aPresupuestos = new string[0];
            int iNum = 0;
            int nPos=-1;
           
            if (Session["Presupuestos"].ToString() != "")
            {
                nPos = Session["Presupuestos"].ToString().IndexOf(sDocNuevo); 
                aPresupuestos=Session["Presupuestos"].ToString().Split('|');
                iNum = aPresupuestos.Length;
            }       
            string sDestinoPrep = "";
            if (nPos == -1)
            {
                try
                {
            
                    aPresupuestos = (string[])aRedimensionar(aPresupuestos, iNum + 1);
                    aPresupuestos[iNum] = sDocNuevo;
                    iNum++;
                    TituloTablas.Style["display"] = "none";
                    TableRow tPresupuesto = new TableRow();
                    TablePrep.Rows.Add(tPresupuesto);
                    TableCell tCell = new TableCell();
                    //cogemos el nombre del documento
                    tCell.Text = sDocNuevo; // añadimos el nombre del documento
                    tPresupuesto.Cells.Add(tCell);
                    TableCell tCell1 = new TableCell();
                    HyperLink ImgDoc = new HyperLink();
                    ImgDoc.ID = "Doc" + (iNum - 1);
                    ImgDoc.NavigateUrl = Cnf.UrlPresupuesto + aPresupuestos[iNum - 1];
                    ImgDoc.Target = "_blank";
                    //MyLink.Text = "Presupuesto nº " + aPresupuestos[n].ToString();
                    ImgDoc.ToolTip = "Presupuesto nº " + sDocNuevo;
                    ImgDoc.ImageUrl = "~/imagenes/OpenBook.jpg";
                    ImgDoc.ViewStateMode = ViewStateMode.Enabled;
                    //ImageButton ImgDoc = new ImageButton();
                    //ImgDoc.ID = MiText.Left(aNom[aNom.Length - 1].ToString(), aNom[aNom.Length - 1].ToString().Length - 4);
                    ImgDoc.ImageUrl = "~/imagenes/OpenBook.jpg";
                    //ImgDoc.CssClass = "docPreview";
                    tCell1.Controls.Add(ImgDoc);
                    tPresupuesto.Cells.Add(tCell1);
                    DatosSolicitud DSolicitud = new DatosSolicitud((SqlConnection)Application["cnSolicitud"], "Select * from SolicitudCompra Where CodSol=" + NumSol.Text.ToString().Trim(), Convert.ToInt32(NumSol.Text.ToString().Trim()));
                    if (!((Convert.ToInt32(DSolicitud.Estado) > 1)))
                    {
                        ImageButton MyButton = new ImageButton();
                        MyButton.ID = "Elim" + (iNum - 1);
                        MyButton.ImageUrl = "~/imagenes/waste.gif";
                        MyButton.CommandArgument = aPresupuestos[iNum - 1].ToString();
                        MyButton.Command += new CommandEventHandler(EliminarPresupuestoPrueba);
                        //MyButton.Click += new ImageClickEventHandler(EliminarPresupuesto);
                        TableCell tCellB = new TableCell();
                        tCellB.Controls.Add(MyButton);
                        tPresupuesto.Cells.Add(tCellB);
                    }
                    TablePrep.Rows.Add(tPresupuesto);
                   
                    TituloTablas.Style["display"] = "block";
          
                    if (Session["Presupuestos"].ToString() == "")
                    {
                        Session["Presupuestos"] = aPresupuestos[iNum - 1];
                    }
                    else
                    {
                        Session["Presupuestos"] = Session["Presupuestos"].ToString() + '|' + aPresupuestos[iNum - 1];
                    }
                    try
                    {
                        string strUpdate = "Update SolicitudCompra SET Presupuesto=@Presupuesto Where CodSol= " + Convert.ToInt32(NumSol.Text.ToString().Trim());
                        SqlCommand cmdUpdate = new SqlCommand(strUpdate, (SqlConnection)Application["cnSolicitud"]);
                        cmdUpdate.Parameters.AddWithValue("@Presupuesto", Session["Presupuestos"]);
                        cmdUpdate.ExecuteNonQuery();
                        cmdUpdate.Dispose();
                                           
                    }
                    catch (SqlException exc)
                    {
                        ((PaginaPrincipal)this.Master).strError = "MostrarMensaje('" + exc.Message + "')";
                        lblErrMess.Text = exc.Message;
                        lblErrMess.Visible = true;
                    }
                    finally
                    {
                    }
                   
                }
                catch (Exception ex)
                {
                    ((PaginaPrincipal)this.Master).strError = "MostrarMensaje('" + ex.Message + "')";
                    lblErrMess.Text = ex.Message;
                    lblErrMess.Visible = true;
                }
                finally { }
            }
            
        
        }

    Gracias de antemano.

    Esther

    miércoles, 20 de mayo de 2015 15:57

Respuestas

Todas las respuestas