hilpers


  hilpers > microsoft.* > microsoft.dotnet.aspnet

 #1  
29-10-2004, 11:50
XTV \(Madrid\)
Hola; estoy intentando crear una página que contenga una tabla, en la que se puedan añadir filas a voluntad del usuario, pero sin que pierda los datos anteriormente mostrados.

La idea es que cada vez que se pulsa un botón se cree una fila más; el problema que tengo es que cada vez que se pulsa el botón desaparece el contenido anterior; a ver si a alguién se le ocurre cómo solventar este problema.

De momento tengo hecho esto:

' Al inicio del código
Dim arrayCells(5) As TableCell
Dim CellCol As TableCellCollection

'Ya dentro de la codificación de los eventos:

Private Sub Table_Detalle_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Table_Detalle.Init
Static arrayOfTableRowCells(5) As TableCell
Static myTableCellCol As TableCellCollection

arrayCells.Copy(arrayOfTableRowCells, arrayCells, 5)
CellCol = myTableCellCol

If IsPostBack Then Exit Sub

Try
Dim numRows As Integer = 5
Dim numCells As Integer = 6
Dim i As Integer

For i = 0 To numRows - 1
Dim myTableRow As New TableRow
Dim j As Integer
For j = 0 To numCells - 1
Dim myTableCell As New TableCell
myTableCell.Text = "[Row " + i.ToString() + ", Cell " + j.ToString() + "]"
arrayOfTableRowCells(j) = myTableCell
Next j

myTableCellCol = myTableRow.Cells
myTableCellCol.AddRange(arrayOfTableRowCells)
Table_Detalle.Rows.Add(myTableRow)
Next i
Catch ex As Exception
Label1.Text = ex.Message
End Try
End Sub

' Y en el botón que debería crear cada fila:

Private Sub B_AddTableRow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_AddTableRow.Click
Dim myTableRow As New TableRow
Dim x As Byte
For x = 0 To 5
Dim myTableCell As New TableCell
myTableCell.Text = x.ToString & ": NuevaLinea"
arrayCells(x) = myTableCell
Next x
CellCol = myTableRow.Cells
CellCol.AddRange(arrayCells)
Table_Detalle.Rows.Add(myTableRow)
End Sub

Muchas gracias por la ayuda



XTV
 #2  
29-10-2004, 16:50
Paul Calderon
podrias probar con la propiedad EnableViewState = "true" de la tabla, puede que te funcione

sino seria de guardar el dataset que relaciones a la tabla en como un objeto de session.

SALUDOS

Ing. Paúl Calderón
DCE 2
MSN: paul
Ecuador



"XTV (Madrid)" <xtv> escribió en el mensaje news:1452
Hola; estoy intentando crear una página que contenga una tabla, en la que se puedan añadir filas a voluntad del usuario, pero sin que pierda los datos anteriormente mostrados.

La idea es que cada vez que se pulsa un botón se cree una fila más; el problema que tengo es que cada vez que se pulsa el botón desaparece el contenido anterior; a ver si a alguién se le ocurre cómo solventar este problema.

De momento tengo hecho esto:

' Al inicio del código
Dim arrayCells(5) As TableCell
Dim CellCol As TableCellCollection

'Ya dentro de la codificación de los eventos:

Private Sub Table_Detalle_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Table_Detalle.Init
Static arrayOfTableRowCells(5) As TableCell
Static myTableCellCol As TableCellCollection

arrayCells.Copy(arrayOfTableRowCells, arrayCells, 5)
CellCol = myTableCellCol

If IsPostBack Then Exit Sub

Try
Dim numRows As Integer = 5
Dim numCells As Integer = 6
Dim i As Integer

For i = 0 To numRows - 1
Dim myTableRow As New TableRow
Dim j As Integer
For j = 0 To numCells - 1
Dim myTableCell As New TableCell
myTableCell.Text = "[Row " + i.ToString() + ", Cell " + j.ToString() + "]"
arrayOfTableRowCells(j) = myTableCell
Next j

myTableCellCol = myTableRow.Cells
myTableCellCol.AddRange(arrayOfTableRowCells)
Table_Detalle.Rows.Add(myTableRow)
Next i
Catch ex As Exception
Label1.Text = ex.Message
End Try
End Sub

' Y en el botón que debería crear cada fila:

Private Sub B_AddTableRow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_AddTableRow.Click
Dim myTableRow As New TableRow
Dim x As Byte
For x = 0 To 5
Dim myTableCell As New TableCell
myTableCell.Text = x.ToString & ": NuevaLinea"
arrayCells(x) = myTableCell
Next x
CellCol = myTableRow.Cells
CellCol.AddRange(arrayCells)
Table_Detalle.Rows.Add(myTableRow)
End Sub

Muchas gracias por la ayuda



XTV
Temas Similares
Objeto <table> más grande que <body>

Hola a todos. En una de mis páginas estoy haciendo una tabla que debe ocupar el tamaño completo de la página y para ello a la propiedad Height del Body le indico que debe...

Manipular un objeto Table por codigo..

Hola Grupo... Como hago referencia a una tabla por codigo.. a un boton pues digo Button1.Text = "algo" en diseño la propiedad ID de la tabla la modifique tblCampos pero ya...

Objeto Table

Saludos Cordiales Tengo un objeto Table en un webform, la cual tiene 32 columnas. Cómo puedo hacer para poner en la primera fila un título que vaya centrado de acuerdo a la...

OBJETO TABLE - VIEWSTATE??

Estimados amigos: Ojala puedan ayudarme he creado dinamicamente una tabla con objetos textbox, pero al hacer clic en un boton que he ingresado no se guarda el estado de este...

OBJETO TABLE

Estimados amigos: Genero dinámicamente un objeto table con objetos textbox el cual lleno a partir de un evento cambio de un combobox, pero al hacer clic en cualquier boton...


La franja horaria es GMT. Ahora son las 19:53. | Privacy Policy