2011-10-23 8 views
1

リストでのGridViewにバインドするときにGridViewのヘッダを示しています。は、私がデータを含まないGridViewののヘッダを表示したいと思い

List<myData> datas = new List<myData>(); 

Gridview1.DataSource = datas.ToArray(); 
Gridview1.DataBind(); 

しかし、その後、ヘッダが示されていないされます。データが空の場合にヘッダーを表示するにはどうすればよいですか?

私はまだ、サーバーが事前に.NET 4.0

感謝をサポートしていません、.NET Framework 2.0を使用しています。

+0

R ???? –

答えて

1

データがない場合は、GridView EmptyDataTemplateを使用してヘッダーを表示します。

例:

<asp:GridView> 
    <emptydatatemplate> 

     <table><tr><td>Header 1</td><td>Header 2</td><td>Header 3</td><td>Header 4</td></tr></table> 
    </emptydatatemplate> 
</asp:GridView> 
0

あなたはこのような何かを試みることができる... uはasp.net 4.0を使用して

//Check to see if we get rows back, if we do just bind. 

if (grdview.Rows.Count != 0) 
{ 
    grdview.DataSource = dtFunding; 
    grdview.DataBind(); 
} 
else 
{ 
    //Other wise add a emtpy "New Row" to the datatable and then hide it after binding. 

    grdview.Rows.Add(grdview.NewRow()); 
    grdview.DataSource = dtFunding; 
    grdview.DataBind(); 
    grdview.Rows[0].Visible = false; 
} 
+0

非常にハックな解決策:( –

+0

@DavidePirasもし彼がAsp.net 4.0を使用しているのなら、これは最善の解決策です.... ASP.Net 4.0はブーリアンShowHeaderWhenEmptyプロパティを追加しましたhttp://msdn.microsoft.com/en-us/library/system .web.ui.webcontrols.gridview.showheaderwhenempty.aspx –

+0

私のサーバはasp.net 4.0をサポートしていません:( – olidev

関連する問題