簡體   English   中英

當表格僅包含標題並且表格中沒有插入行時,如何在asp.net中顯示空的gridview?

[英]How to display a empty gridview in asp.net when the table contains only headers and there is no row inserted on the table?

以及如何在運行時通過簡單地按 Tab 鍵在 gridview 中添加新行?

如果您使用的是 ASP.NET 4.0 或更高版本,則可以使用 ShowHeaderWhenEmpty 屬性並將其設置為 true,如下所示:

<asp:GridView runat="server" id="gv" ShowHeaderWhenEmpty="true">
    // Normal grid view logic would go here
</asp:GridView>

這是ShowHeaderWhenEmpty的 MSDN 文檔的鏈接

如果您使用的是 ASP.NET 3.5 或更早版本,那么即使沒有數據,您也必須使用“空行”技巧使標題顯示在您的 GridView 中,如下所示:

List<string> rows = new List<string>(
new string[] { "Row 1", "Row 2", "Row 3" });

rows.Clear();
if (rows.Count > 0)
{
    gv.DataSource = rows;
    gv.DataBind();
}
else
{
    rows.Add("");
    gv.DataSource = rows;
    gv.DataBind();
    gv.Rows[0].Visible = false;
}

注意:在這個人為的例子中,else 將始終執行,因為我們在檢查列表中的項目數量之前清除列表,但您應該在這里了解這個想法; 添加一個“空”行,綁定網格視圖,然后隱藏您剛剛添加的行。 “空”行的初始綁定將使標題顯示,然后隱藏的行將使其看起來像一個空的網格視圖。

GridView1.DataSourceID = null;
GridView1.DataBind();

確保它是DataSourceID而不是 DataSource。

如果您使用 .NET 4.0 或更高版本,則可以在 GridView 上設置一個屬性 - ShowHeaderWhenEmpty。 只要確保你確實綁定到一個空列表。

如果您使用表作為數據源。 您只需要創建一個具有空白值的新行。

table.Rows.Add(table.NewRow());

GridView1.DataSourceID = String.Empty; GridView1.DataBind();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM