GridView如何实现当没数据时在第一行拉通了显示"您当前还没有记录"?
我主要是想要显示标题(有多个标题),但是内容没有的话就在第一行拉通了显示这个提示``应该怎么样弄```
------解决方案--------------------------------------------------------
你可以通过数据库查询 想查询出所要填充的表的所有内容 如果某一列为空,就把GridView的headtext=“您当前还没有记录”饿,你试试
------解决方案--------------------------------------------------------
可以考虑 在后台代码中,实现数据绑定的时候,加一条SQL 语句,比如:select count(*) ......
来判断是否有记录。
if(count>o)
{绑定}
else
Response.Write("您当前还没有记录");
------解决方案--------------------------------------------------------
给个IF判断就可以了
------解决方案--------------------------------------------------------
楼主应该是这个意思吧:
<asp:GridView ID="GridView1" runat="server" EmptyDataText="您当前还没有记录"/>
------解决方案--------------------------------------------------------
用一个类~
给你看下我的类
- C# code
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;namespace MTS.CommonComponent{ /// <summary> /// Gridview绑定的数据记录为空时显示Gridview的表头,并显示没有记录的提示 /// </summary> public class GridViewNull { //当Gridview数据为空时显示的信息 private static string EmptyText = "暂无数据"; public GridViewNull() { } /// <summary> /// 防止PostBack后Gridview不能显示 /// </summary> /// <param name="gridview"></param> public static void ResetGridView(GridView gridview) { //如果数据为空则重新构造Gridview if (gridview.Rows.Count == 1 && gridview.Rows[0].Cells[0].Text == EmptyText) { int columnCount = gridview.Columns.Count; gridview.Rows[0].Cells.Clear(); gridview.Rows[0].Cells.Add(new TableCell()); gridview.Rows[0].Cells[0].ColumnSpan = columnCount; gridview.Rows[0].Cells[0].Text = EmptyText; gridview.Rows[0].Cells[0].Style.Add("text-align", "center"); } } /// <summary> /// 绑定数据到GridView,当表格数据为空时显示表头 /// </summary> /// <param name="gridview"></param> /// <param name="table"></param> public static void GridViewDataBind(GridView gridview, DataTable table, string EmptyText) { //记录为空重新构造Gridview if (table.Rows.Count == 0) { table = table.Clone(); table.Rows.Add(table.NewRow()); gridview.DataSource = table; gridview.DataBind(); int columnCount = table.Columns.Count; gridview.Rows[0].Cells.Clear(); gridview.Rows[0].Cells.Add(new TableCell()); gridview.Rows[0].Cells[0].ColumnSpan = columnCount; gridview.Rows[0].Cells[0].Text = EmptyText; gridview.Rows[0].Cells[0].Style.Add("text-align", "center"); } else { //数据不为空直接绑定 gridview.DataSource = table; gridview.DataBind(); } //重新绑定取消选择 gridview.SelectedIndex = -1; } }}
------解决方案--------------------------------------------------------
在调用的时候~这样做
if (dt.Rows.Count > 0)
{
// 当有数据时候,进行这样的帮顶
GV_DelDoc.DataSource = dt;
GV_DelDoc.DataBind();
divDoArea.Visible = true;
}
else
{ // 当没哟数据的时候,自己帮顶一个空的字段