2009-08-20 2 views
0

Ich füge Texboxen in eine Tabelle (Typ Tabelle), aber ich kann sie nicht hinzufügen. Ich kann nicht mehr als eine Zelle zu jeder Zeile hinzufügen, irgendeine Idee?Die Tabelle der TextBoxen wird nicht angezeigt.

TextBox[] tx = new TextBox[10]; 
     TableCell[] tc = new TableCell[10]; 

     TableRow[] tr = new TableRow[10]; 

     for (int i = 0; i < 10; i++) 
     { 
      tx[i] = new TextBox(); 
      tc[i] = new TableCell(); 
      tc[i].Controls.Add(tx[i]); 
     } 

     for (int i = 0; i < 10; i++) 
     { 
      tr[i] = new TableRow(); 
      tr[i].Cells.Add(tc[i]); 
     } 

     for (int i = 0; i < 10; i++) 
      Table1.Rows.Add(tr[i]); 

Es kommt heraus, wie 10 Reihen mit jeweils nur 1 Zelle

+0

Was soll der Ausgang sein? 1 Reihe mit 10 Zellen? – BigBlondeViking

+0

Nein, es muss 10 X 10 sein –

+0

Speichern Sie die Textfelder, Zellen und Zeilen, weil Sie Zugriff darauf benötigen, nachdem Sie sie in die Tabelle eingefügt haben? – BigBlondeViking

Antwort

0

Die Zellen müssen eindeutig sein: Ich muss 100 Zellen nicht nur 10 erstellen!

TextBox[] tx = new TextBox[100]; 
     TableCell[] tc = new TableCell[100]; 

     TableRow[] tr = new TableRow[10]; 

     for (int i = 0; i < 100; i++) 
     { 
      tx[i] = new TextBox(); 
      tc[i] = new TableCell(); 
      tc[i].Controls.Add(tx[i]); 
     } 

     int x = 0; 
     for (int i = 0; i < 10; i++) 
     { 
      tr[i] = new TableRow(); 
      for (int j=0; j < 10; j++) 
      { 
       tr[i].Cells.Add(tc[x++]); 
      } 
     } 


     for (int i = 0; i < 10; i++) 
      Table1.Rows.Add(tr[i]); 
+0

ist es besser, von einem zweidimensionalen Array getan werden –

1

Weil Sie benötigen eine innere Schleife dazu:

for (int i = 0; i < 10; i++) 
{ 
    tr[i] = new TableRow(); 
    tr[i].Cells.Add(tc[i]); 
} 

Try this:

for (int i = 0; i < 10; i++) 
{ 
    tr[i] = new TableRow(); 
    for (int x = 0; x < 10; x++) 
    { 
     tr[i].Cells.Add(tc[x]); 
    } 
} 
+0

jetzt habe ich 10 Zellen aber nur eine Zeile !! –

0

Ihre Schlaufen sind nicht eingerichtet, um Ihnen eine 10x10 Tabelle

zu geben 10
Table table = new Table(); 
TableRow tr = null; 
TableCell tc = null; 
for (int i = 0; i < 10; i++) 
{ 
    tr = new TableRow(); 

    for (int j = 0; j < 10; j++) 
    { 
     tc = new TableCell(); 

     tc.Controls.Add(new TextBox()); 

     tr.Cells.Add(tc); 
    } 

    table.Rows.Add(tr); 
}