以及如何在运行时通过简单地按 Tab 键在 gridview 中添加新行?
问问题
33859 次
5 回答
11
如果您使用的是 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 总是会执行,但是你应该明白这里的想法;添加一个“空”行,绑定网格视图,然后隐藏您刚刚添加的行。“空”行的初始绑定将使标题显示,然后被隐藏的行将使其看起来像一个空的网格视图。
于 2013-06-12T14:47:47.520 回答
2
GridView1.DataSourceID = null;
GridView1.DataBind();
确保它是DataSourceID而不是 DataSource。
于 2013-08-13T17:21:45.560 回答
0
如果您使用的是 .NET 4.0 或更高版本,您可以在 GridView 上设置一个属性 - ShowHeaderWhenEmpty。只要确保您实际上绑定到一个空列表即可。
于 2013-06-12T14:33:08.037 回答
0
如果您使用表作为数据源。您只需要创建一个具有空白值的新行。
table.Rows.Add(table.NewRow());
于 2013-06-13T03:03:27.003 回答
0
GridView1.DataSourceID = String.Empty; GridView1.DataBind();
于 2020-08-20T02:48:21.670 回答