2013-11-08 3 views
1

Я не знаю, почему это не работает. Я пытаюсь создать секцию заголовка таблицы из кода конца, но все идет в tbody.Создание строки заголовка таблицы ASP.NET

 Dim output As New Web.UI.WebControls.Table 

     'Create the header row 
     Dim hRow As New Web.UI.WebControls.TableHeaderRow 
     hRow.TableSection = Web.UI.WebControls.TableRowSection.TableHeader 
     hRow.Controls.Add(New Web.UI.WebControls.TableHeaderCell) 

     For Each d As GridDate In Dates 
      Dim hCell As New Web.UI.WebControls.TableHeaderCell 
      hCell.Text = d.Value 
      hRow.Controls.Add(hCell) 
     Next 
     output.Controls.Add(hRow) 

Результатом является все, что находится под телом, несмотря на создание строки заголовка и установку свойства раздела в заголовок. Что я делаю не так?

enter image description here

+0

ли ваш код также добавить строки с раздела 'TableRowSection.TableBody'? Если да, добавьте ли вы ** после ** заголовков? –

+1

Я. После этой последней строки есть код для добавления дополнительных строк. Но, как вы видите, этот раздел в первый раз добавляется в таблицу. – ElPresidente

ответ

0

Существовал ошибка в коде я отправил. В последней строке моего кода я добавлял новую строку в коллекцию элементов управления:

output.Controls.Add(hRow) 

Не делайте этого. Кажется, что он обошел некоторые свойства, уникальные для ASP.NET TableRows, в конечном итоге. В этом случае он игнорировал свойство TableSection, несмотря на то, что был установлен правильно. Вы должны добавить строки в коллекции Rows вместо:

output.Rows.Add(hRow) 
0

Попробуйте

Dim output As New Table 
Dim hRow As New TableHeaderRow 
For Each d As GridDate In Dates 
    Dim hCell As New TableHeaderCell 
    hCell.Text = d.Value 
    hCell.Scope = TableHeaderScope.Column 
    hRow.Cells.Add(hCell) 
Next 
output.Rows.Add(hRow) 

Это работало для меня

Смежные вопросы