2009-03-17 1 views
0

現在、私は可変サイズのテーブルを作成するために以下のようなものを用意しています:ASP.Netで可変サイズのフォームテーブルを作成する(より良い方法が必要です)

TableRow tableHeader = new TableRow(); 
    tableHeader.ID = "tableHeader"; 
    userTable.Rows.Add(tableHeader); 

     TableCell tableHeaderCell_1 = new TableCell(); 
     tableHeader.Cells.Add(tableHeaderCell_1); 

     TableCell tableHeaderCell_2 = new TableCell(); 
      Label lblThc2 = new Label(); 
      lblThc2.Text = "<b>Name:</b>"; 
      tableHeaderCell_2.Controls.Add(lblThc2); 
     tableHeader.Cells.Add(tableHeaderCell_2); 

     TableCell tableHeaderCell_3 = new TableCell(); 
      Label lblThc3 = new Label(); 
      lblThc3.Text = "<b>User</b>"; 
      tableHeaderCell_3.Controls.Add(lblThc3); 
     tableHeader.Cells.Add(tableHeaderCell_3); 

     ... 

とのように見えるボディ:

for(int i = 0; i < dynamicTableLength; i++) 
{ 
    TableRow tableBodyTemp = new TableRow(); 
    tableBodyTemp.ID = "tableBody" + i; 
    userTable.Rows.Add(tableBodyTemp); 

     TableCell tableBodyCell_1 = new TableCell(); 
         Label lblThc2 = new Label(); 
      lblThc2.Text = "<b>"+ i +"</b>"; 
      tableBodyCell_1.Controls.Add(lblThc2); 
     tableHeader.Cells.Add(tableHeaderCell_1); 

     TableCell tableBodyCell_2 = new TableCell(); 
      TextBox text = new TextBox(); 
          text.ID = "name" + i; 
          text.GroupName = "myGroup"; 
     tableHeader.Cells.Add(tableHeaderCell_2); 

        ... 

} 

ありはあなたが必要とするどのように多くの行を知っている....または一般的にはしていないとき、テーブル/フォームを作成するためのより良い方法であることを持っています!

誰かが助けることができますか?

答えて

4

repeaterコントロールを使用してください。これにより、マークアップをaspxページ内に保持することができます。マークアップを非常に簡単に変更することもできます。あなたはテーブルに限定されることはありません。必要に応じて、後でdivやリストに簡単に変更することができます。

0

コードを読みやすくするヘルパーメソッドをいくつか作成してください。リファクタリングできるコピー/ペーストのセクションがいくつかあります。そのセクションは多くの状況を改善するはずです。

関連する問題