GridView1.Columns.Count总是0的问题

GridView有时是自动生成的列,那么这样的话GridView1.Columns.Count的值就是0!

所以当需要得到该值时,必须用GridView1.HeaderRow.Cells.Count

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以在GridView中添加空行,以便在没有数据时显示一些文本。可以通过以下两种方法来实现: 1. 在GridView的模板中添加一个空行 ``` <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> <Columns> <asp:BoundField DataField="Name" HeaderText="Name" /> <asp:BoundField DataField="Age" HeaderText="Age" /> </Columns> <EmptyDataTemplate> <tr> <td colspan="2">No data found.</td> </tr> </EmptyDataTemplate> </asp:GridView> ``` 在EmptyDataTemplate标记中添加一个空行,并在其中添加希望显示的文本。当GridView没有数据时,将显示此文本。 2. 在代码中添加空行 您可以在绑定数据之前检查数据源是否为空,如果是空的,则添加一个空行。例如: ``` protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dt = GetDataFromDatabase(); if (dt.Rows.Count == 0) { dt.Rows.Add(dt.NewRow()); // 添加一行 GridView1.DataSource = dt; GridView1.DataBind(); int totalColumns = GridView1.Rows[0].Cells.Count; GridView1.Rows[0].Cells.Clear(); GridView1.Rows[0].Cells.Add(new TableCell()); GridView1.Rows[0].Cells[0].ColumnSpan = totalColumns; GridView1.Rows[0].Cells[0].Text = "No data found."; // 显示文本 } else { GridView1.DataSource = dt; GridView1.DataBind(); } } } ``` 在代码中添加一行,并将其绑定到GridView中。然后,使用GridView.Rows[0].Cells.Clear()方法清除第一行的单元格,并使用GridView.Rows[0].Cells.Add()方法添加一个单元格,该单元格跨越所有列,并显示您希望在空行中显示的文本。 请注意,在第二种方法中,您需要手动创建和绑定数据源,以便在没有数据时添加空行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值