2011-10-23 2 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

이 뭔가를 시도 할 수 ... 유 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

관련 문제