Я создаю приложение ASP.NET, которому нужны динамические таблицы. Это еще одна проблема, о которой я уже писал (и получил довольно хороший ответ!). Теперь у меня возникает другая проблема - я хочу добавить новые строки в свою таблицу, но при условии, что у меня будет 10-12 таблиц на одной странице, каждая из которых содержит разные объекты в своих строках (текстовые поля, флажки и т. Д.).) Мне нужно просто просто добавить новую строку с теми же объектами, что и первая строка в таблице. Вот мой код:Как копировать типы объектов в VB.NET?
Private Sub AddTableRow(ByRef originalTable As System.Web.UI.WebControls.Table)
Dim originalRow As System.Web.UI.WebControls.TableRow = originalTable.Rows(1)
Dim insertingRow As New System.Web.UI.WebControls.TableRow
Dim insertingCells(originalRow.Cells.Count) As System.Web.UI.WebControls.TableCell
Dim index As Integer = 0
For Each cell As System.Web.UI.WebControls.TableCell In originalRow.Cells
insertingCells(index) = New System.Web.UI.WebControls.TableCell
insertingCells(index).Controls.Add(cell.Controls.Item(0))
index += 1
Next
insertingRow.Cells.AddRange(insertingCells)
originalTable.Rows.Add(insertingRow)
End Sub
Но я получаю пустую ссылку исключение во втором к последней строке,
insertingRow.Cells.AddRange (insertingCells)
... и я могу» t выяснить почему. Это потому, что содержимое каждой ячейки не инициализируется новым объектом? Если да, то как мне обойти это?
Спасибо!
EDIT:
внутри моего цикл теперь выглядит следующим образом -
For Each cell As System.Web.UI.WebControls.TableCell In originalRow.Cells
Dim addedContent As New Object
Dim underlyingType As Type = cell.Controls.Item(0).GetType
addedContent = Convert.ChangeType(cell.Controls.Item(0), underlyingType)
insertingCells(index) = New System.Web.UI.WebControls.TableCell
insertingCells(index).Controls.Add(addedContent)
index += 1
Next
Пошаговый с помощью отладчика, я вижу, что эта стратегия работает - но дополнительная строка таблицы еще Безразлично» t появляется ... и все еще делает, когда я делаю это статически.
Это решило проблему ошибки во время выполнения, но, видимо, объекты все еще не копируются - не новая строка не добавляется к моему столу. Я прокомментировал этот код и включил статическое добавление строки таблицы, а затем добавила новую строку в мою таблицу. Здесь что-то еще не так. Спасибо за вашу помощь! знак равно – rybosome