2009-08-21 16 views
1

emptydataテンプレートを起動できるフィルタを持つGridviewがあります。しかし、これが表示されたら私はまだ私のgridviewの概要を見ることができます。データが存在しない場合、どのようにしてGridviewを消滅させることができますか?Gridviewを非表示

答えて

10
protected void GridView1_DataBound(object sender, EventArgs e) 
{ 
    if (this.GridView1.Rows.Count == 0) 
     this.GridView1.Visible = false; 
} 
+0

私が欲しかったのは、Gridviewの罫線を隠すことでした。 Databoudはそれを行うための正しい場所でした。ありがとうございました – Eric

0

Visibleプロパティをfalseに設定してコントロール自体を非表示にするか、親コントロール(つまり、含むパネル)を非表示にします。

+0

素晴らしい音...しかし、私はどのようにコードで行うことができますか? Gridviewのデータバインド?コードでemptydataテンプレートにアクセスするにはどうすればよいですか? – Eric

+0

GridViewはASP.NETコントロールです。つまり、コントロール自体を表示または非表示にすることができる 'Visible'プロパティを持つことを意味します。 GridView.Visible = false; は、コントロールがまったくレンダリングされないようにします。 – jscharf

3
<asp:Gridview id="gridview" ...... 
     Visible='<%# ((ICollection)gridview.DataSource).Count == 0 ? false : true %>'> 
0

だけDataSource NULLを行い、Bind()GridViewを再、それはそれ自身を隠す必要があります!

myGridView.DataSource = null; 
myGridView.DataBind(); 

はほかに不可能である可能性があり、後でそれを見つけるよう .Visibleを使用して注意してください。 .Visible = false;を使用する必要がある場合は、私は使用することをお勧めします myGridview.Attributes.Add("style","display:none");