0

私は新しい Web サイトを作成しており、VB を使用して ASP.NET を使用しています。

私のウェブサイトは、カー レーサー (スピードウェイ) 向けです。ファンにドライバーのリストを次のような形式で提供したいと思い ます http://www.nba.com/lakers/roster?cid=nav_team_expanded

SQL Server データベースのデータセットにすべての情報がありますが、上記のようなテーブルを作成しようとすると、さまざまな問題が発生します。

誰もウェブサイトを編集する必要がないように、すべてを動的にしたいと考えています。

これを行うための最良かつ最も簡単な方法は何ですか? 見つけたさまざまなチュートリアルを試しましたが、効果的に機能するものはありませんでした。

よろしくお願いします!

これはこれまでの私のコードです。データセットには正しい情報が取り込まれ、すべてのドライバーを表示する方法でテーブルを動的に作成する方法を見つけようとしています。

        Dim dsDrivers As DataSet = MSSQL.CustomSQL("WASDA_Drivers", "SELECT CarNo,Name FROM WASDA_Drivers")
    Dim RowsCount As Integer = dsDrivers.Tables(0).Rows.Count / 4

    'Sorts Car Numbers Properly
    Dim CarNos As List(Of Integer) = New List(Of Integer)
    Dim g As Integer
    For z As Integer = 0 To dsDrivers.Tables(0).Rows.Count - 1
        If Integer.TryParse(dsDrivers.Tables(0).Rows(z).Item("CarNo"), g) Then
            CarNos.Add(g)
        End If
    Next
    CarNos.Sort()

    Dim rows, cells, j, i As Integer
    Dim count As Integer = 0
    rows = RowsCount * 2
    cells = 4
    For j = 0 To RowsCount - 1
        Dim oRow As New TableRow()
        For Each z As Integer In CarNos
            For i = 0 To cells - 1
                For x As Integer = 0 To dsDrivers.Tables(0).Rows.Count - 1
                    If CarNos(z).ToString = dsDrivers.Tables(0).Rows(x).Item("CarNo") Then
                        Dim oCell As New TableCell
                        oCell.Text = CarNos(z) & " : " & dsDrivers.Tables(0).Rows(x).Item("Name")
                        oRow.Cells.Add(oCell)
                        GoTo NextItem
                    End If
                Next
NextItem:
                    tblDrivers.Rows.Add(oRow)
                Next
                For i = 0 To cells - 1
                    Dim oCell As New TableCell()
                    'oCell.Controls.Add(New LiteralControl("row " & j & ", cell " & i))
                    'oCell.Controls.Add(New LiteralControl(dsDrivers.Tables(0).Rows(count).Item(0)))
                    oCell.Controls.Add(New LiteralControl(CarNos(count) & " : " & dsDrivers.Tables(0).Rows(count).Item(0)))
                    oRow.Cells.Add(oCell)
                    count = count + 1
                Next
            Next
        Next
4

3 に答える 3

0

カタログに製品のリストを表示する際に、非常によく似た問題がありました。ユーザーの画面に合わせて行ごとのドライバーの数を動的にサイズ変更する場合、最も簡単な方法は、css を使用して固定サイズの「タイル」のクラスを作成することです。タイルを display=inline-block として宣言します。つまり、幅と高さが固定されたボックスを作成します。次に、データソースから読み取り、ドライバーごとにこのタイルのインスタンスを 1 つ作成する Repeater を使用します。最後の改行の後を除いて、改行を強制するために何もしないでください-BRまたはDIVでそれらをラップします。次に、ブラウザにそれらをレイアウトさせます。テキストを折り返すのと同じように、スペースがなくなるまでページ全体に文字列を並べて、次の行に移動する必要があります。

于 2014-08-26T18:57:53.777 に答える
0

このすべてのコードを手動で記述する必要はありません。代わりに、asp:ListView を使用して、LayoutTemplate と ItemTemplate を希望どおりに設定することができます。

于 2014-08-26T18:54:08.790 に答える