Ich möchte HTML-Tabelle anstelle von Gridview verwenden, um die Daten zu fechten. Warum HTML-Tabelle? Da ich die Ausgabe für das Senden per E-Mail verwenden werde, bevorzuge ich HTML Table statt Gridview. Ich möchte auch kein Objekt verwenden, da das System nur auf dem Server läuft. Es wird automatisch eine E-Mail gesendet. Kann mir jemand bei meinem Problem helfen? Vielen Dank.Verwenden Sie HTML-Tabelle anstelle von Gridview
Hier ist was ich bisher habe. Im folgenden Beispiel verwende ich gridview, weil ich nicht weiß, wie man HTML Table mit Append benutzt.
Vb.Net
Dies ist, wie ich meine Funktion
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
SendEmail()
End Sub
Dieser Aufruf ist meine E-Mail-Funktion, die ich möchte in HTML-Tabelle umgewandelt werden mit anhängen.
Protects Sub SendEmail()
For Each dt As System.Data.DataTable In prod3()
Dim i As Integer = i + 1
Dim dv As New System.Data.DataView(dt)
Dim dt2 As System.Data.DataTable = dv.ToTable(False, {"Name", "Product", "Expiry"})
Dim y As Date = dt.Rows(0)("pdate")
Dim dte1, dte2, dte3 As String
Select Case i
Case 1
dte1 = dt.Rows(0)("pdate").ToString
dte1 = y.Date.ToString("MM/dd/yyyy")
dte1 = y
GridView11.DataSource = dt2
GridView11.DataBind()
Case 2
dte2 = dt.Rows(0)("pdate").ToString
dte2 = y.Date.ToString("MM/dd/yyyy")
dte2 = y
GridView12.DataSource = dt2
GridView12.DataBind()
Case 3
dte2 = dt.Rows(0)("pdate").ToString
dte2 = y.Date.ToString("MM/dd/yyyy")
dte2 = y
GridView13.DataSource = dt2
GridView13.DataBind()
End Select
Next
End SUb
Public Function prod3() As List(Of DataTable)
Dim ds As New DataSet
Dim cmd As New SqlCommand
Dim ldt As New List(Of DataTable)
Dim adp As SqlDataAdapter = New SqlDataAdapter
Dim c As New SqlConnection("myconnection")
cmd.Connection = c
cmd.CommandText = "storedprocname"
cmd.Parameters.AddWithValue("@name", "%")
cmd.Parameters.AddWithValue("@product", "%")
cmd.Parameters.AddWithValue("@expiry", "%")
cmd.Parameters.AddWithValue("@datefrom", DateTime.Today.AddDays(1))
cmd.Parameters.AddWithValue("@dateto", DateTime.Today.AddDays(3))
cmd.Parameters.AddWithValue("@cost", "%")
cmd.CommandType = CommandType.StoredProcedure
adp.SelectCommand = cmd
adp.Fill(ds)
Dim dv As New DataView(ds.Tables(0))
Dim dvfilter As DataTable = dv.ToTable(True, {"pdate"})
For Each dtrow As DataRow In dvfilter.Rows
Dim dt2 As New DataTable
dv.RowFilter = "date =#" + dtrow("pdate") + "#"
dt2 = dv.ToTable(False, {"DATE", "Name", "Product", "Expiry"})
ldt.Add(dt2)
Next
Return ldt
End Function
Der Code funktioniert, aber nicht so, wie ich es möchte. Ich möchte keine Gridview verwenden. Ich möchte es in HTML-Tabelle wie:
Dim builder As New StringBuilder
builder.Append("<!DOCTYPE html><html>")
builder.Append("<head>")
builder.Append("</head>")
builder.Append("<body>")
builder.Append("<table>")
builder.Append("</table>")
builder.Append("<body>")
Jede Hilfe würde sehr geschätzt werden! :) Danke.
Dies ist eine falsche Gegenteil. Ein GridView ist ein serverseitiges Steuerelement, das eine HTML-Tabelle rendern kann. Mit anderen Worten, es kann tun, was Sie fragen, ohne dass Sie HTML schreiben müssen.Alle fancy Optionen (wie Paginierung) ausschalten, ihm einige Spaltendefinitionen geben und voila. –