Я хочу использовать таблицу HTML вместо gridview для сбора данных. Почему таблица HTML? Потому что я буду использовать вывод для отправки по электронной почте, поэтому предпочитаю HTML-таблицу вместо gridview. Также я не хочу использовать объект, поскольку система будет работать только на сервере. Он автоматически отправит электронное письмо. Может ли кто-нибудь помочь мне с моей проблемой? Спасибо.Используйте таблицу HTML вместо Gridview
Вот что у меня есть. В приведенном ниже примере я использую gridview, потому что я не знаю, как это сделать, используя таблицу HTML, используя Append.
Vb.Net
Это, как я называю свою функцию
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
SendEmail()
End Sub
Это моя функция электронной почты, который я хочу, чтобы быть преобразованы в HTML таблицу с помощью добавления.
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
Код работает, но не так, как я хочу. Я не хочу использовать gridview. Я хочу, чтобы это было в таблице html, например:
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>")
Любая помощь была бы высоко оценена! :) Спасибо.
Это ложное противоположное. GridView - это элемент управления на стороне сервера, который может отображать таблицу HTML. Другими словами, он может делать то, что вы просите, без необходимости писать HTML.Поверните все причудливые параметры (например, разбивку на страницы), дайте им некоторые определения столбцов и вуаля. –