当前位置: 代码迷 >> ASP.NET >> GridView怎么实现当没数据时在第一行拉通了显示小弟我定义的文字
  详细解决方案

GridView怎么实现当没数据时在第一行拉通了显示小弟我定义的文字

热度:9163   发布时间:2013-02-25 00:00:00.0
GridView如何实现当没数据时在第一行拉通了显示我定义的文字?
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
{ // 当没哟数据的时候,自己帮顶一个空的字段
  相关解决方案