2016-09-27 42 views
0

我的表當前佈局TD手機後臺添加CSS類是這樣的:動態使用Vb.net

<tr> 
    <td> Field1 </td> 
    <td> Field2 </td> 
    <td> Field3 </td> 
    <td> Field4 </td> 
    <td >Field5 </td> 
</tr> 

<tr> 
    <td> anothefield1 </td> 
    <td> anothefield2 </td> 
    <td> anothefield3 </td> 
    <td> anothefield1 </td> 
    <td> anothefield1 </td> 
</tr> 

我想實現的是在每列中的每個TD動態添加CSS類。像這樣:

<tr> 
    <td class = '1'> Field1 </td> 
    <td class = '2'> Field2 </td> 
    <td class = '3'> Field3 </td> 
    <td class = '4'> Field4 </td> 
    <td class = '5'> Field5 </td> 
</tr> 

<tr> 
    <td class = '1'> anothefield1 </td> 
    <td class = '2'> anothefield2 </td> 
    <td class = '3'> anothefield3 </td> 
    <td class = '4'> anothefield4 </td> 
    <td class = '5'> anothefield5 </td> 
</tr> 

等等爲下一個tr。

我該如何能夠實現這種佈局?

這裏是我到目前爲止

Dim dv As New DataView(ds.Tables(0)) 
Dim dvfilter As DataTable = dv.ToTable(True, {"date"}) 
Dim dt2 As New DataTable 
For Each dtrow As DataRow In dvfilter.Rows 

dv.RowFilter = "Total_Load < Potential_Load" 
dt2 = dv.ToTable(False, "Field1", "Field2", "Field3", "Field4", "Field5"}) 
Next 

Dim builder As New StringBuilder 
    builder.Append("<!DOCTYPE html><html>") 
    builder.Append("<head>") 
    builder.Append("</head>") 
    builder.Append("<body>") 
    builder.Append("<div class = 'email-section'>") 
    builder.Append("<table id = 'email' class='emai_table'>") 
    builder.Append("<thead>") 
    builder.Append("<tr>") 
    builder.Append("<th>Field1</th>") 
    builder.Append("<th>Field2</th>") 
    builder.Append("<th>Field3</th>") 
    builder.Append("<th>Field4</th>") 
    builder.Append("<th>Field5</th>") 
For Each row As DataRow In dt2.Rows 
    builder.Append("<tr>") 
    For Each col As DataColumn In dt2.Columns 
     builder.Append("<td>" & row(col).ToString + " " & "</td>") 
    Next 
     builder.Append("</tr>") 
     builder.AppendLine() 
Next 
    builder.Append("</tbody>") 
    builder.Append("</table>") 
    builder.Append("</div>") 
    builder.Append("</body>") 
    builder.Append("</html>") 

任何幫助將非常感激。謝謝!

回答

1

在外部For循環內部創建一個新計數器,然後提取其值並在內部For循環內增加。

For Each row As DataRow In dt2.Rows 
    builder.Append("<tr>") 
    Dim i as Integer 
    i = 1 
    For Each col As DataColumn In dt2.Columns 
     builder.Append("<td class=""" & i & """>" & row(col).ToString + " " & "</td>") 
     i = i + 1 
    Next 
     builder.Append("</tr>") 
     builder.AppendLine() 
Next 

我的VB有點生疏,所以它可能不是100%正確的語法,但我認爲你會得到主意。

+0

Hi @Dave Cripps,謝謝你的回答。但不是我想要的方式。輸出是等等。我想要的是在下表中,td類與前面的tr類相同。你有這樣的想法嗎?謝謝。 –

+0

對不起。我想我在第一次嘗試時錯過了代碼的定位。再試一次,它按我想要的方式工作。十分感謝你的幫助! –