當GridView的資料是在程式裡面動態產生的時候,HtmlEncode屬性就無法在程式碼內設定,為了克服資料想顯示Htmlcode,所以將資料改用html顯示是一個辦法。
但是這樣就無法再做其他GridView相關的處理,所以我就去搜尋了,如何實現GridView的資料來源是動態產生,還可以設定BoundField屬性。
如下:
DataTable 轉成 HTML
DataTable 轉成 GridView
判斷字串是否為數字形式,如果是的話就做格式化處理。
但是這樣就無法再做其他GridView相關的處理,所以我就去搜尋了,如何實現GridView的資料來源是動態產生,還可以設定BoundField屬性。
如下:
DataTable 轉成 HTML
Public Sub drawHtmlTable(ByVal dt As Data.DataTable) Dim html As String = "" html += "<table class='listTable'>" 'draw Columns html += "<tr>" For c As Integer = 0 To dt.Columns.Count - 1 html += "<th>" html += dt.Columns(c).ColumnName html += "</th>" Next html += "</tr>" 'draw Rows For r As Integer = 0 To dt.Rows.Count - 1 html += "<tr>" For c As Integer = 0 To dt.Columns.Count - 1 html += "<td nowrap>" html += dt.Rows(r)(c) html += "</td>" Next Next html += "</table>" ltHtmlTable.Text = html End Sub
DataTable 轉成 GridView
Public Sub drawGridView(ByVal dt As Data.DataTable, ByVal gv As Object) gv.DataSource = dt gv.Columns.Clear() For c As Integer = 0 To dt.Columns.Count - 1 Dim bf As BoundField = New BoundField() bf.DataField = dt.Columns(c).ColumnName bf.HeaderStyle.Wrap = False bf.HtmlEncode = False bf.HeaderText = dt.Columns(c).ColumnName bf.ItemStyle.HorizontalAlign = HorizontalAlign.Left bf.HeaderStyle.Width = 200 bf.ItemStyle.Width = 200 gv.Columns.Add(bf) Next gv.DataBind() End Sub
判斷字串是否為數字形式,如果是的話就做格式化處理。
If IsNumeric(dt.Rows(r)(c).ToString.Trim) Then number = Format(CDbl(dt.Rows(r)(c)), "0.##") End If
文章標籤
全站熱搜
留言列表