在HTML表格中显示SqlDataSource数据(DataTables插件)

时间:2017-09-19 18:54:41

标签: asp.net sql-server vb.net datatables append

我想在表<td>中显示SQL Server数据,因此我可以在https://datatables.net/使用插件我能够将数据绑定到诸如

之类的内容
<asp:PlaceHolder ID = "PlaceHolder1" runat="server" />

,例如本教程:https://www.aspsnippets.com/Articles/Display-data-from-database-in-HTML-table-in-ASPNet.aspx

但是,插件需要表中的类和id,因此不起作用。我尝试插入插件需要的类和id,但是没有工作

// Table start.
html.Append("<table border = '1'>");
html.Append("<table class = "display" id = "example">");

有没有办法通过html.append向表中插入一个类和ID?

由于

2 个答案:

答案 0 :(得分:3)

如果您有GridView,则需要使用ClientID。将以下GridView和JavaScript放在同一个aspx页面上。

<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<link type="text/css" rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css"/>

<asp:GridView ID="GridView1" runat="server"
    OnRowDataBound="GridView1_RowDataBound">
</asp:GridView>

<script type="text/javascript">
    $(document).ready(function () {
        $('#<%= GridView1.ClientID %>').DataTable();
    });
</script>

但是,要使GridView使用DataTables,您需要添加OnRowDataBound事件。然后在代码后面添加以下代码。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header)
    {
        e.Row.TableSection = TableRowSection.TableHeader;
    }
}

这会将<thead><tbody>标记添加到生成的html中,这是datatables.net所需要的。

答案 1 :(得分:0)

我发现这也解释了我需要<thread>标签,这是我缺少的。

Apply Jquery DataTables plugin to ASP GridView