在AutoGeneratedColumns中显示SQL Cell中的HTML

时间:2012-09-28 00:08:39

标签: asp.net sql vb.net sql-server-2008

过去几个小时我一直在撞墙,我似乎无法从GridView中的SQL Cell查看HTML标记。

当我设置AutoGenerateColumns = False时,它很容易,因为我可以在DataGird ASP.Net标记中设置boundfield属性。但是,如果打开AutoGenerate,我似乎无法对gridview做任何事情。

这是我的vb代码:

      Dim sqlcmd As String = "Select [Bugs:], [QC#:] FROM " & """" & datasource & """" & Extra
    Using con As New System.Data.SqlClient.SqlConnection(connexstring)
        con.Open()
            Dim da = New SqlDataAdapter(sqlcmd, con)
            Dim ds = New DataSet()
            da.Fill(ds)
            Gridview1.DataSource = ds
            da.Dispose()
            ds.Dispose()
        con.Close()
    End Using
    GenTables(gen)
    Dbind()

我需要在两列中显示html标记。

这是我的Gridview:

      <asp:GridView ID="GridView1" runat="server" 
        EmptyDataText="There are no data records to display." 
          BackColor="White" BorderColor="#999999" BorderWidth="1px" 
        CellPadding="3" ForeColor="Black" GridLines="Vertical" BorderStyle="Solid" 
        Visible="False" AutoGenerateEditButton="True">
        <AlternatingRowStyle BackColor="#CCCCCC" />
        <Columns>
        </Columns>
        <FooterStyle BackColor="#CCCCCC" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#999999" ForeColor="Black" 
            HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#000099" ForeColor="White" Font-Bold="True" />
        <SortedAscendingCellStyle BackColor="#F1F1F1" />
        <SortedAscendingHeaderStyle BackColor="#808080" />
        <SortedDescendingCellStyle BackColor="#CAC9C9" />
        <SortedDescendingHeaderStyle BackColor="#383838" />
    </asp:GridView>

有没有人知道如何在已经生成列之后允许gridview单元格显示html?

谢谢, 扎克

2 个答案:

答案 0 :(得分:0)

您可以使用网格的OnPreRender事件来实现此目标。

答案 1 :(得分:0)

我发誓我看到有人用正确的答案回答这个问题(我只是不确定他们为什么会删除他们的答案)。

对于那些寻找相同答案的人来说,这里是:

    Try
        For x = 0 To GridView5.Rows.Count
            GridView5.Rows(x).Cells(2).Text = Context.Server.HtmlDecode(GridView5.Rows(x).Cells(2).Text)
        Next
    Catch ex As Exception
    End Try

就这么简单......