2009-08-26 11 views
7

Czy ktoś może mi powiedzieć, jak dynamicznie tworzyć tagi tad w moim tekście C#?C# utworzyć thead i tbody

private void MakeTable() 
{ 
    Table tb = new Table(); 
    TableRow tr = new TableRow(); 
    TableCell td = new TableCell(); 
    td.Text="hello world"; 
    tr.Cells.Add(td); 
    tb.Rows.Add(tr); 
} 

Dzięki

+4

Jakoś przeczytałem to jako "wątek" i nie miało to absolutnie żadnego sensu. Przepraszam, że przeszkadzam. –

+0

To samo! (15 denerwujących postaci, które zajmują miejsce) – Jagd

Odpowiedz

20

Oto przykładowy kod, który tworzy THEAD, TBODY i TFooter.

Można w zasadzie zawsze użyć obiektu TableRow prostu zresetować własność TableSection.

Table table = new System.Web.UI.WebControls.Table(); 
    TableRow tableRow; 
    TableCell tableCell; 

    tableRow = new TableRow(); 
    tableRow.TableSection = TableRowSection.TableHeader; 
    tableCell = new TableCell(); 
    tableCell.Text = "HEADER"; 
    tableRow.Cells.Add(tableCell); 
    table.Rows.Add(tableRow); 

    tableRow = new TableRow(); 
    tableRow.TableSection = TableRowSection.TableBody; 
    tableCell = new TableCell(); 
    tableCell.Text = "BODY"; 
    tableRow.Cells.Add(tableCell); 
    table.Rows.Add(tableRow); 

    tableRow = new TableRow(); 
    tableRow.TableSection = TableRowSection.TableFooter; 
    tableCell = new TableCell(); 
    tableCell.Text = "FOOTER"; 
    tableRow.Cells.Add(tableCell); 
    table.Rows.Add(tableRow); 

    plhTest.Controls.Add(table); 

Chociaż chciałbym zaproponować budowę tabelę w HTML i bezpośrednie dołączanie do strony.

+1

Jakieś konkretne powody, dla których sugerujesz, że ("budowanie tabeli w bezpośrednim html i dołączanie do strony")? – Jayesh

+0

Jeśli musisz generować to dynamicznie (powiedzmy, dla nieznanego # kolumn lub z innych powodów) okazało się, że TableHeader nie będzie renderował jako 'thead', O ile nie dodano TableFooter (stopka nie może zawierać komórek, ale musi być dodane do kolekcji wierszy). grrrr. –

+1

Należy pamiętać, aby dodać wartość TableHeaderRow za pośrednictwem właściwości Rows tabeli, a NIE właściwości control. Dodanie za pośrednictwem właściwości Controls _ _takiej razy znaczy, że element thead nie jest renderowany do html. – Bucket

6

TableRow jest w zasadzie tbody.

Aby utworzyć sekcję thead, należy użyć klasy TableHeaderRow zamiast klasy TableRow.

(Jest też, btw, TableFooterRow jeśli chcesz wprowadzić tfoot.

0
var row = new TableHeaderRow() { TableSection = TableRowSection.TableHeader }; 
table.Rows.Add(row); 

powinien załatwić sprawę:

Powiązane problemy