private void CargarLineas(List <VisitaTablaModelo> tabla)
        {
            var     dt = new DataTable();
            DataRow dr = null;

            dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
            dt.Columns.Add(new DataColumn("NomResiduo", typeof(string)));
            dt.Columns.Add(new DataColumn("Cantidad", typeof(string)));
            dt.Columns.Add(new DataColumn("Unidad", typeof(string)));
            dt.Columns.Add(new DataColumn("Estado", typeof(string)));
            dt.Columns.Add(new DataColumn("Embalaje", typeof(string)));
            int contador = 1;

            foreach (var item in tabla)
            {
                dr = dt.NewRow();
                dr["RowNumber"]  = contador;
                dr["NomResiduo"] = item.Nombre;
                dr["Cantidad"]   = item.Cantidad;
                dr["Unidad"]     = item.Unidad.Texto;
                dr["Estado"]     = item.Estado.Texto;
                dr["Embalaje"]   = item.Embalaje.Texto;
                dt.Rows.Add(dr);
                contador++;
            }
            ViewState["ResiduosTable"] = dt;
            ResiduosGrid.DataSource    = ViewState["ResiduosTable"];
            ResiduosGrid.DataBind();

            SetPreviousData();
        }
        private void SetInitialRow()
        {
            var     dt = new DataTable();
            DataRow dr = null;

            dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
            dt.Columns.Add(new DataColumn("NomResiduo", typeof(string)));
            dt.Columns.Add(new DataColumn("Cantidad", typeof(string)));
            dt.Columns.Add(new DataColumn("Unidad", typeof(string)));
            dt.Columns.Add(new DataColumn("Estado", typeof(string)));
            dt.Columns.Add(new DataColumn("Embalaje", typeof(string)));

            dr = dt.NewRow();
            dr["RowNumber"]  = 1;
            dr["NomResiduo"] = string.Empty;
            dr["Cantidad"]   = string.Empty;
            dr["Unidad"]     = string.Empty;
            dr["Estado"]     = string.Empty;
            dr["Embalaje"]   = string.Empty;
            dt.Rows.Add(dr);

            ViewState["ResiduosTable"] = dt;
            ResiduosGrid.DataSource    = dt;
            ResiduosGrid.DataBind();
        }
        private void AddNewRowToGrid()
        {
            int rowIndex = 0;

            if (ViewState["ResiduosTable"] != null)
            {
                var     dtCurrentTable = (DataTable)ViewState["ResiduosTable"];
                DataRow drCurrentRow   = null;
                if (dtCurrentTable.Rows.Count > 0)
                {
                    for (int i = 1; i <= dtCurrentTable.Rows.Count; i++)
                    {
                        var nombreResiduoTxt = (TextBox)ResiduosGrid.Rows[rowIndex].Cells[1].FindControl("txtNombreResiduoAdd");
                        var cantidadTxt      = (TextBox)ResiduosGrid.Rows[rowIndex].Cells[2].FindControl("txtCantidadAdd");
                        var unidadCbx        = (DropDownList)ResiduosGrid.Rows[rowIndex].Cells[3].FindControl("dropUnidadAdd");
                        var estadoCbx        = (DropDownList)ResiduosGrid.Rows[rowIndex].Cells[4].FindControl("dropEstadoAdd");
                        var embalajeCbx      = (DropDownList)ResiduosGrid.Rows[rowIndex].Cells[5].FindControl("dropEmbalajeAdd");


                        drCurrentRow = dtCurrentTable.NewRow();
                        drCurrentRow["RowNumber"]  = i + 1;
                        drCurrentRow["NomResiduo"] = nombreResiduoTxt.Text;
                        drCurrentRow["Cantidad"]   = cantidadTxt.Text;
                        drCurrentRow["Unidad"]     = unidadCbx.SelectedValue;
                        drCurrentRow["Estado"]     = estadoCbx.SelectedValue;
                        drCurrentRow["Embalaje"]   = embalajeCbx.SelectedValue;

                        rowIndex++;
                    }

                    dtCurrentTable.Rows.Add(drCurrentRow);
                    ViewState["ResiduosTable"] = dtCurrentTable;
                    ResiduosGrid.DataSource    = dtCurrentTable;
                    ResiduosGrid.DataBind();
                }
            }
            else
            {
                Response.Write("ViewState is null");
            }

            SetPreviousData();
        }