Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[GELÖST] Problem mit rowspan in ItemTemplate von asp:Repeater
schillerdeluxe
myCSharp.de - Member



Dabei seit:
Beiträge: 141
Herkunft: Österreich

Themenstarter:

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

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von schillerdeluxe am .
Attachments
private Nachricht | Beiträge des Benutzers
schillerdeluxe
myCSharp.de - Member



Dabei seit:
Beiträge: 141
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

Anscheinend kann man nur 1 Bild anhängen, daher hier wie es zur zeit aussieht:
Attachments
private Nachricht | Beiträge des Benutzers
Tomot
myCSharp.de - Member

Avatar #avatar-2678.jpg


Dabei seit:
Beiträge: 706
Herkunft: Düsseldorf

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3430
Herkunft: Trier -> München

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Tomot
myCSharp.de - Member

Avatar #avatar-2678.jpg


Dabei seit:
Beiträge: 706
Herkunft: Düsseldorf

beantworten | zitieren | melden

Zitat von MarsStein
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
private Nachricht | Beiträge des Benutzers
schillerdeluxe
myCSharp.de - Member



Dabei seit:
Beiträge: 141
Herkunft: Österreich

Themenstarter:

beantworten | zitieren | melden

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

Danke ;-)
private Nachricht | Beiträge des Benutzers