2008-08-21 7 views
8

Standardmäßig wird jede Zeile einer Gridview jeder Zeile in einer Datentabelle oder Dataset zugeordnet, die an ihre Datenquelle angehängt ist. Was aber, wenn ich diese Zeilen in mehreren Spalten anzeigen möchte. Zum Beispiel, wenn es 10 Zeilen hat, sollten 5 Zeilen jeweils in 2 Spalten nebeneinander angezeigt werden. Auch kann ich dies mit dem Infragistics-Raster tun. Ist das möglich?Zeilen in mehreren Spalten in Asp.net anzeigen. Gridview

Antwort

14

Sie können stattdessen eine DataList Steuerung verwenden. Es verfügt über eine RepeatColumns-Eigenschaft, mit der Sie die Anzahl der Spalten festlegen können, die Sie anzeigen möchten. In .NET Framework 3.5 gibt es eine noch bessere Lösung, die ListView Kontrolle. Sie finden weitere Informationen zur Verwendung des ListView-Steuerelements here.

+0

Wenn Sie ListView nicht verfügbar haben und keine Tabellen verwenden möchten, können Sie DataList mit RepeatLayout-Attributset für den Datenfluss verwenden, das Daten in Spanpaaren zurückgibt, abhängig davon, wie viele Spalten Sie ausgewählt haben. Positionieren Sie die Spannen dann mit CSS (Float oder Inline-Block anzeigen). – Dan

0

Können Sie nicht einfach zwei identische gebundene Spalten hintereinander setzen?

+0

asp: datalist ist gut genug, um die req zu erfüllen. –

1

Wenn dies eine reine Codierung Übung ist, binden Sie an das RowDataBound-Ereignis der Gridview. Auf diese Weise können Sie tun:

e.Row.Cells(2).Text = e.Row.Cells(1).Text 

Dieser Text aus der Spalte 1 in Spalte platzieren würde 2, nachdem es aus der Datenbank gezogen wurde. Sie können Spalten auch dynamisch mit einer ähnlichen Methode erstellen.

Re-lesen, ich glaube, ich verstehe dein Problem falsch.