GridView如何实现当没数据时在第一行拉通了显示我定义的文字?
GridView如何实现当没数据时在第一行拉通了显示"您当前还没有记录"?
我主要是想要显示标题(有多个标题),但是内容没有的话就在第一行拉通了显示这个提示``应该怎么样弄```
[解决办法]
你可以通过数据库查询 想查询出所要填充的表的所有内容 如果某一列为空,就把GridView的headtext=“您当前还没有记录”饿,你试试
[解决办法]
可以考虑 在后台代码中,实现数据绑定的时候,加一条SQL 语句,比如:select count(*) ......
来判断是否有记录。
if(count>o)
{绑定}
else
Response.Write("您当前还没有记录");
[解决办法]
给个IF判断就可以了
[解决办法]
楼主应该是这个意思吧:
<asp:GridView ID="GridView1" runat="server" EmptyDataText="您当前还没有记录"/>
[解决办法]
用一个类~
给你看下我的类
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
{ // 当没哟数据的时候,自己帮顶一个空的字段
DataTable dtNull = new DataTable();
dtNull.Columns.Add();
dtNull.Columns.Add("FileName");
dtNull.Columns.Add("Filesize");
dtNull.Columns.Add("FileType");
dtNull.Columns.Add("AddTime");
GridViewNull.GridViewDataBind(GV_DelDoc, dtNull, "暂无数据!");
divDoArea.Visible = false;
}
[解决办法]
如果需要固定表头,就直接用Gridview的属性吧
EmptyDataText="没有找到相关信息"
[解决办法]
GridView的header和footer就可以吧
[解决办法]
8楼的方法值得一试。
但有一点改进,在调用的时候可以用Clone,直接取得空表dt的表字段
在调用的时候~这样做
if (dt.Rows.Count > 0)
{
// 当有数据时候,进行这样的帮顶
GV_DelDoc.DataSource = dt;
GV_DelDoc.DataBind();
divDoArea.Visible = true;
}
else
{ // 当没哟数据的时候,自己帮顶一个空的字段
DataTable dtNull = new DataTable();
/*
dtNull.Columns.Add();
dtNull.Columns.Add("FileName");
dtNull.Columns.Add("Filesize");
dtNull.Columns.Add("FileType");
dtNull.Columns.Add("AddTime");
*/
dtNull=dt.Clone();//改进的地方在这里
GridViewNull.GridViewDataBind(GV_DelDoc, dtNull, "暂无数据!");
divDoArea.Visible = false;
}
[解决办法]
asp.net夜话之八:数据绑定控件
在asp.net中所有的数据库绑定控件都是从BaseDataBoundControl这个抽象类派生的,这个抽象类定义了几个重要属性和一个重要方法:DataSource属性:指定数据绑定控件的数据来源,显示的时候程序将会从这个数据源中获取数据并显示。DataSourceID属性:指定数据绑定控件的数据源控件的ID, 显示的时候程序将会根据这个ID找到相应的数据源控件,并利用这个数据源控件中指定方法获取数据并显示。DataBind()方法:当指定了数据绑定控件的DataSource属性或者DataSourceID属性之后,再调用DataBind()方法才会显示绑定的数据。并且在使用数据源时,会首先尝试使用DataSourceID属性标识的数据源,如果没有设置DataSourceID时才会用到DataSource属性标识的数据源。也就是说DataSource和DataSourceID两个属性不能同时使用。数据绑定控件的DataSource控件属性必须是一个可以枚举的数据源,如实现了ICollection、IEnumerable或IListSource接口的类的实例。
[解决办法]