asp.net gridview showheaderwhenempty仅适用于回发

时间:2012-04-02 19:46:46

标签: asp.net vb.net gridview

我意识到ShowHeaderWhenEmpty仅适用于PostBacks。有没有办法在页面加载后使其工作?

<asp:GridView ID="GridView1"... ShowHeaderWhenEmpty="true"... >
<EmptyDataTemplate>
<asp:Label ID="Label1" runat="server" Text="No records found"></asp:Label>
</EmptyDataTemplate>

当我没有要显示的信息时,上面的消息只出现在PostBacks中,当页面加载时没有。

1 个答案:

答案 0 :(得分:6)

注意:此答案假设(根据您的问题)您将 GridView 绑定到PostBack上的数据源,而 {期间完全没有{1}}。 如果我错了,请纠正我。

Page_Load内容仅在您的<EmptyDataTemplate>被数据绑定后显示。如果您只是在Postback上进行数据绑定(基于某些用户交互),解决此问题的一种方法是将GridView绑定到空(人工)数据集,这样GridView将显示。< / p>

<EmptyDataTemplate>

从EmptyDataTemplate上的MSDN article(强调我的):

  

数据时,空数据行显示在Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Dim table As New DataTable GridView1.DataSource = table GridView1.DataBind() End If End Sub 控件中   绑定到控件的源不包含任何记录。

如果没有绑定到控件的数据源,则此属性尚不相关。