2012-04-02 10 views
1

私はShowHeaderWhenEmptyがPostBacksでしか動作しないことに気付きました。ページが読み込まれたら、それを動作させる方法はありますか?asp.net gridview showheaderwhenemptyはポストバックでのみ動作します

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

表示する情報がない場合、上記のメッセージはPostBacksにのみ表示され、ページが読み込まれると表示されません。

+0

具体的に何をしようとしているかの例を挙げてください。あなたが求めていることを伝えるのは難しいことです。 – jadarnel27

+0

更新されたポストを参照してください – Somebody

+0

おかげで追加情報! – jadarnel27

答えて

6

注:この答えは想定して(あなたの質問に基づいて)あなたのポストバック上のデータソースへGridView、そして全くPage_Loadの間に結合されています。 私が間違っている場合は私を修正してください。

<EmptyDataTemplate>のコンテンツは、GridViewがデータバインドされて初めて表示されます。ポストバックでデータバインディングを行う場合(あるユーザーのやり取りに基づいて)、この問題を解決する方法の1つは、が表示されるように、GridViewを空の(人工の)データセットにバインドすることです。 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 

制御にバインドされているデータ ソースが含まれていない場合、空のデータ行がGridViewコントロールに表示されていますすべてのレコード。

コントロールにバインドされているデータソースがない場合、このプロパティはまだ関連していません。

+0

ありがとうございました! – Somebody

+0

@Somebody全く問題ありません=) – jadarnel27

関連する問題