none
Agregar Nueva fila a una tabla en tiempo de ejecución RRS feed

  • Pregunta

  • Buenas Tardes,

    Necesito saber como puedo hacer para agregar una fila ya sea en un gridview o en una tabla en tiempo de ejecucion. Es decir si tengo 4 filas inicialmente pero el usuario desea agregar una mas, como puedo realizar esta acción? Estoy trabajando con c#

    Gracias por la ayuda que me puedan brindar

    saludos,

    David


    David Vega

    martes, 6 de agosto de 2013 21:11

Respuestas

  • depende de como lo quieras hacer... si le pones un linkbutton o un button al usuario que diga agregar fila.. en ese boton puedes hacer los siguiente.

     DataTable TablaPaciente = new DataTable("TablaPaciente");
                DataColumn Col;           
                Col = new DataColumn("Campo1", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Col = new DataColumn("Campo2", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Col = new DataColumn("Campo3", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Col = new DataColumn("Campo4", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Session("DT") = DT;------> aqui guardas en la variable session tu tabla

    Luego en el evento de tu button agregar fila copias esto

          DataTable DT = Session("DT");--- aqui recuperas los datos de tu tabla

         DataRow Row;

    Row = DT.NewRow();

    Row["Campo1"] = ValorCampo1;
                    Row["Campo2"] = ValorCampo2;
                    Row["Campo3"] = ValorCampo3;
                    Row["Campo4"] = ValorCampo4;
                    DT.Rows.Add(Row);

        TuGView.DataSource = DT;-------- En estas dos lineas cargas tu GridView 
                TuGView.DataBind();

    Session("DT") = DT;--->vuelves y recuperas tu tabla con la nueva fila agregada

    y listo asi agregas una nueva fila en una tabla que luego la cargas en el GView para agregarla tambn alGView...

    Saludos

    • Marcado como respuesta don2690 miércoles, 7 de agosto de 2013 19:42
    martes, 6 de agosto de 2013 21:43
  • hola

    Aputas a agregar la info en memoria, sin que se inserte en al db?

    http://social.msdn.microsoft.com/forums/es-ES/e894f4d6-6d93-4bdd-b14d-45ee794e9b1e/como-agregar-filas-a-un-gridvenw-en-c-en-web-o-aspx

    http://social.msdn.microsoft.com/Forums/es-ES/0a43e80a-f178-4c85-933f-a5c3076c001f/como-agregar-renglon-a-gridview-desde-un-boton

    como veras usas el objeto Session para conservar el datatable y pode rir agregnado registros adicionales

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta don2690 miércoles, 7 de agosto de 2013 19:42
    martes, 6 de agosto de 2013 21:51

Todas las respuestas

  • depende de como lo quieras hacer... si le pones un linkbutton o un button al usuario que diga agregar fila.. en ese boton puedes hacer los siguiente.

     DataTable TablaPaciente = new DataTable("TablaPaciente");
                DataColumn Col;           
                Col = new DataColumn("Campo1", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Col = new DataColumn("Campo2", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Col = new DataColumn("Campo3", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Col = new DataColumn("Campo4", Type.GetType("System.String"));
                TablaPaciente.Columns.Add(Col);
                Session("DT") = DT;------> aqui guardas en la variable session tu tabla

    Luego en el evento de tu button agregar fila copias esto

          DataTable DT = Session("DT");--- aqui recuperas los datos de tu tabla

         DataRow Row;

    Row = DT.NewRow();

    Row["Campo1"] = ValorCampo1;
                    Row["Campo2"] = ValorCampo2;
                    Row["Campo3"] = ValorCampo3;
                    Row["Campo4"] = ValorCampo4;
                    DT.Rows.Add(Row);

        TuGView.DataSource = DT;-------- En estas dos lineas cargas tu GridView 
                TuGView.DataBind();

    Session("DT") = DT;--->vuelves y recuperas tu tabla con la nueva fila agregada

    y listo asi agregas una nueva fila en una tabla que luego la cargas en el GView para agregarla tambn alGView...

    Saludos

    • Marcado como respuesta don2690 miércoles, 7 de agosto de 2013 19:42
    martes, 6 de agosto de 2013 21:43
  • hola

    Aputas a agregar la info en memoria, sin que se inserte en al db?

    http://social.msdn.microsoft.com/forums/es-ES/e894f4d6-6d93-4bdd-b14d-45ee794e9b1e/como-agregar-filas-a-un-gridvenw-en-c-en-web-o-aspx

    http://social.msdn.microsoft.com/Forums/es-ES/0a43e80a-f178-4c85-933f-a5c3076c001f/como-agregar-renglon-a-gridview-desde-un-boton

    como veras usas el objeto Session para conservar el datatable y pode rir agregnado registros adicionales

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta don2690 miércoles, 7 de agosto de 2013 19:42
    martes, 6 de agosto de 2013 21:51
  • Buenas Tardes,

    Muchas gracias ya logré agregar una fila, pero tengo otra consulta como hago que cuando agregue una fila no se me borre la información que tengo en el gridview?

    Saludos,

    David


    David Vega

    miércoles, 7 de agosto de 2013 20:05