Laden...

[GELÖST] Problem mit rowspan in ItemTemplate von asp:Repeater

Erstellt von schillerdeluxe vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.503 Views
S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 13 Jahren
[GELÖST] Problem mit rowspan in ItemTemplate von asp:Repeater

Hallo, ich habe ein Problem mit einem asp:Repeater und weiß gerade echt nicht weiter. Auch online recherche hat nichts gebracht, deswegen versuch ich es mal hier:

Also folgendes Problem: Ich habe eine Tabelle, welche dynamisch erstellt werden soll. Das Template für die Tabelle soll wie folgt aussehen (siehe Dateianhang).

Wie man im Screenshot erkennt, soll die erste Spalte immer ein rowspan="3" haben.

Habe das im Code folgender maßen umgesetzt:


<asp:Repeater ID="rptReport" runat="server">
<ItemTemplate>
<tr>
<td rowspan="3">
<asp:Label ID="lblQuestion" runat="server">Question</asp:Label>
</td>
<td>
<asp:Label ID="lblSampleSizeReport" runat="server">12</asp:Label>
</td>
<td>
<asp:Label ID="lblAnswerPercentage1" runat="server">1</asp:Label>
</td>
<td>
<asp:Label ID="lblAnswerPercentage2" runat="server">2</asp:Label>
</td>
<td>
<asp:Label ID="lblAnswerPercentage3" runat="server">3</asp:Label>
</td>
<td>
<asp:Label ID="lblAnswerPercentage4" runat="server">4</asp:Label>
</td>
<td>
<asp:Label ID="lblAnswerPercentage5" runat="server">5</asp:Label>
</td>
<td>
<asp:Label ID="lblAnswerPercentage6" runat="server">6</asp:Label>
</td>
<td>
<asp:Label ID="lblAnswerPercentage7" runat="server">7</asp:Label>
</td>
</tr>
</ItemTemplate>

Leider kommt es hier zu einer gewaltigen Verschiebung nach rechts (siehe Attachment: Table.png):

Meine Frage: Kann ich das mit Repeater überhaupt umsetzten, und wenn nicht, wie sonst?
Mir selbst den HTML Code zusammenstöbseln erscheint mir hier mit ein wenig oberhead, daher dachte ich mir ich frag mal die gurus hier.

Bin für jede Hilfe dankbar.

mfg
Deluxe

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 13 Jahren

Anscheinend kann man nur 1 Bild anhängen, daher hier wie es zur zeit aussieht:

691 Beiträge seit 2007
vor 13 Jahren

Sieht auf den ersten Blick ok aus.

Wie sieht denn die <table> drum herum aus?
Hast du in die erste Zeile eine "Headerspalte" gemacht?
Ich vermute, das die dortige Spaltenanzahl nicht mit der Spaltenanzahl im Repeater übereinstimmt.

mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo,

Du erstellst in dem Reapeater jeweils nur eine einzige Zeile (<tr>), gibst aber der ersten Zelle einen rowspan von 3. Daher rühren die Verschiebungen. Du musst auf die Gesamttabelle bezogenb darauf achten, daß in jeder Zeile mit eingerechneten colspans die gleiche Anzahl Zellen steht, und in jeder Spalte mit eingerechneten rowspans die Gesamtanzahl an Zeilen erreicht wird.

Für Dein Beispiel aus der ersten Abbildung musst Du also im Repeater 3 Zeilen erstellen, von denen die erste 5 Zellen hat, die anderen beiden aber nur vier Zellen haben, da der Bereich der ersten Zelle in diesen Zeilen von oben her per rowspan überspannt wird.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

691 Beiträge seit 2007
vor 13 Jahren

Du erstellst in dem Reapeater jeweils nur eine einzige Zeile (<tr>), gibst aber der ersten Zelle einen rowspan von 3.

Ah 😉 So schnell kann man rowspan statt colspan lesen 😉

mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 13 Jahren

Danke MarsStein, funktioniert nun so wie ich es mir vorgestellt habe.

Danke 😉