我有以下的aspx页面代码,并从母版页继承其限制的DataGridView列
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript" src="https://cdn.datatables.net/1.10.14/js/jquery.dataTables.min.js"></script>
<link type="text/css" href="https://cdn.datatables.net/1.10.14/css/jquery.dataTables.min.css" rel="stylesheet" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cntHeader" runat="server"></asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="cntContent" runat="server">
<div class="table-responsive">
<table id="myTable" class="table table-striped" >
<asp:GridView ID="gvState" runat="server" CssClass="gvdatatable" AutoGenerateColumns="true" >
<Columns>
<asp:BoundField DataField="Supplier_Name" HeaderText="Name" ItemStyle-Width="150" />
<asp:BoundField DataField="Supplier_Email" HeaderText="Email" ItemStyle-Width="150" />
</Columns>
</asp:GridView>
</table>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('.gvdatatable').dataTable({});
});
</script>
</asp:Content>
我的代码背后,是
public partial class WebForm1 : System.Web.UI.Page
{
clsSupplier objsupplier = new clsSupplier();
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = objsupplier.GetAllSuppliers();
gvState.DataSource = ds;
gvState.DataBind();
if (!IsPostBack)
{
this.gvState.ShowFooter = true;
this.gvState.UseAccessibleHeader = true;
gvState.HeaderRow.TableSection = TableRowSection.TableHeader;
gvState.FooterRow.TableSection = TableRowSection.TableFooter;
}
}
}
GetAllSuppliers包含所有的数据。它包含来自db的8个字段&值,我不想显示所有这8个字段和它的 值,但只有2个字段。
但无论我写在aspx页面不起作用。您可以看到我只使用名称和电子邮件,但它显示数据库表中的所有8列。
我该如何限制这是asp.net页面?由于我没有访问 数据库部分并获取所有记录。我使用数据表来显示 数据。