Проблема с интервалом между таблицами

0

Я настроил таблицу, которая заполняется на основе хранимой процедуры, которая выполняется. Ширина div, содержащая таблицу, составляет 96% страницы. Ширина таблицы составляет 100%. Проблема, с которой я столкнулась, состоит в том, когда у меня есть два-три элемента, заполняющих таблицу, между массивами находится массивное пространство. Я указываю пробел в таблице, но это не работает. У меня также проблемы с черным шрифтом. Я взял весь CSS, относящийся к гиперссылкам <a></a>, но он все еще не отображает правильный цвет шрифта. Какие-либо предложения?

 Dim con5 As New SqlConnection
    Dim cmd5 As New SqlCommand
    Dim index As Integer = 0
    Dim dt1 As New DataSet




    con5.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")
    con5.Open()
    cmd5.Connection = con5
    cmd5.CommandType = CommandType.StoredProcedure


    cmd5.CommandText = "ProductBreakdown"

    cmd5.Parameters.Add(New SqlParameter("ProductID", SqlDbType.Int)).Value = Session("Product")
    cmd5.Parameters.Add(New SqlParameter("DesignName", SqlDbType.VarChar, 50)).Value = Request.QueryString("o")




    Dim da1 As SqlDataAdapter = New SqlDataAdapter(cmd5)
    da1.Fill(dt1)

    Dim table1 As New HtmlTable

    Dim numells As Integer = 6


    dv = New DataView(dt1.Tables(0))
    Dim tablestring = ""
    Dim strTable As New StringBuilder()
    Dim rowIsOpen As Boolean = False
    Dim itmCounter As Integer = 0
    strTable.Append("<table width=""100%"" ""cellspacing=10px"" ""cellpadding=10px""> ")

    For Each dr As DataRowView In dv



        Dim crossover As String = dr("CrossoverID").ToString()
        Dim picid As String = dr("Description").ToString()
        Dim picdescrip As String = dr("DesignColor").ToString().ToUpper()
        Dim collectionname As String = dr("CollectionDescription").ToString().ToUpper()
        Dim designinfo As String = dr("DesignName").ToString()
        Session("Collection") = dr("CollectionDescription").ToString()
        'collectionname.ToUpper()
        ' For every 5 items create a new row.
        If itmCounter Mod 4 = 0 Then
            ' Since we want new row, first close any open row
            If rowIsOpen Then strTable.Append("</tr>")

            ' Start a new row and mark row as open so we can keep track
            strTable.Append("<tr>")
            rowIsOpen = True
        End If


        strTable.Append("<td><a href=""Sheet Vinyl Tile Product Page.aspx?p=" & crossover & "&o=" & designinfo & """>")
        strTable.Append("<img src=""Images/Products/" + picid + ".jpg""width=""188"" height=""188"" border=""0"""" /><br/><br/>")
        strTable.Append("<b><color=Black>" & collectionname & "</b><br />")
        strTable.Append(picdescrip & "</a></td>")

        itmCounter += 1

    Next
    ' Next

    ' Make sure we close any open rows
    If rowIsOpen Then strTable.Append("</tr>")

    If strTable.Length > 0 Then
        product.InnerHtml = "<table>" & _
            strTable.ToString() & _
            "</table>"
    End If
  • 0
    В качестве цвета шрифта он используется в HTML: <b> <color = Black> "& collectionname &" </ b> <br /> (из 90-х :))
Теги:
html-table

1 ответ

0
Лучший ответ

Таблицы имеют определенную роль в HTML, но вы можете использовать DIV в этом случае. DIVs автоматически будут плавать и перемещаться по ширине браузера.

Вот пример в jsFiddle

HTML

<div class="table">
    <div class="banner">The preferred developer response</div>
    <div class="cell">
        <img src="happy-icon.png">
    </div>
    ... 
    <div class="banner">Other emotions</div>
    <div class="cell">
        <img src="sad-icon.png">
    </div>
...
</div>

CSS

.table {
    margin-left: 50px;
    margin-right: 50px;
}
.banner {
    padding: 10px;
    margin-top: 20px;
    clear: both;
    background-color: #336699;
    color: white;
    font-weight: bold;
}
.cell {
    width:   150px;
    float: left;
}

Ваш код может выглядеть так:

Dim con5 As New SqlConnection
Dim cmd5 As New SqlCommand
Dim index As Integer = 0
Dim dt1 As New DataSet

con5.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString")
con5.Open()
cmd5.Connection = con5
cmd5.CommandType = CommandType.StoredProcedure
cmd5.CommandText = "ProductBreakdown"
cmd5.Parameters.Add(New SqlParameter("ProductID", SqlDbType.Int)).Value = Session("Product")
cmd5.Parameters.Add(New SqlParameter("DesignName", SqlDbType.VarChar, 50)).Value = Request.QueryString("o")


Dim da1 As SqlDataAdapter = New SqlDataAdapter(cmd5)
da1.Fill(dt1)

dv = New DataView(dt1.Tables(0))

Dim strTable As New StringBuilder()
Dim itmCounter As Integer = 0
strTable.Append("<div class=""table""> ")

For Each dr As DataRowView In dv

    Dim crossover As String = dr("CrossoverID").ToString()
    Dim picid As String = dr("Description").ToString()
    Dim picdescrip As String = dr("DesignColor").ToString().ToUpper()
    Dim collectionname As String = dr("CollectionDescription").ToString().ToUpper()
    Dim designinfo As String = dr("DesignName").ToString()
    Session("Collection") = dr("CollectionDescription").ToString()

    strTable.Append("<div class=""cell""><a href=""Sheet Vinyl Tile Product Page.aspx?p=" & crossover & "&o=" & designinfo & """>")
    strTable.Append("<img src=""Images/Products/" + picid + ".jpg""width=""188"" height=""188"" border=""0"""" /><br/><br/>")
    strTable.Append("<b><color=Black>" & collectionname & "</b><br />")
    strTable.Append(picdescrip & "</a></div>")

    itmCounter += 1

Next
strTable.Append("</div>")
product.InnerHtml = strTable.ToString()

Такой же вкус, но меньше калорий

  • 0
    Если вы сделаете это, как вы будете выполнять свою хранимую процедуру? Будете ли вы так же или что-то подобное?
  • 0
    Хранимая процедура просто извлекает данные. Область, на которой вы хотите сосредоточиться - это рендеринг, который является strTable.Append (). Используя предоставленный мною CSS: создайте <table ... a <div class = "table" ..., удалите <tr> и замените <td> на <div class = "cell">. Не забудьте также изменить закрывающие элементы.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню