如何在数据源是空的时候,gridview显示表头(万能)
一般我们用gridview 绑定数据的时候,当数据源是空的时候,通常是写:EmptyDataText="没有任何数据可以显示",这样的话表头是不显示的,下面的代码实现当数据源是空的时候,我们不仅显示表头,而且显示:没有任何数据可以显示,图片在最下面:
注意:一定要要设
EmptyDataText="没有任何数据可以显示";然后在.cs文件里面bind()方法里面绑定数据源之后(this.GVpositionrecods.DataBind())之后,把对应的代码复制过去,就OK了。
下面是代码:
.aspx
<title>职位申请记录</title>
<link rel="stylesheet" href="css/common.css" type="text/css" />
<style type="text/css"> .cssPager span { color:blue;} </style>
</head>
<body>
<form id="form1" runat="server">
<div id="man_zone">
<center>
<asp:GridView AllowSorting="True" ID="GVpositionrecods" runat="server" PageSize="12" AllowPaging="True"
EmptyDataText="没有任何数据可以显示" Width="99%" AutoGenerateColumns="False" OnRowDataBound="GVpositionrecods_RowDataBound"
OnSelectedIndexChanged="GVpositionrecods_SelectedIndexChanged" OnSelectedIndexChanging="GVpositionrecods_SelectedIndexChanging"
OnPageIndexChanging="GVpositionrecods_PageIndexChanging" OnRowCreated="GVpositionrecods_RowCreated" OnSorting="GVpositionrecods_Sorting">
<Columns>
<asp:TemplateField HeaderText="职位" SortExpression="zhiwei">
<ItemTemplate>
<a href='throwseeen2.aspx?qiyeid=<%#Eval("qiyeid")%>&id=<%#Eval("ORDER_FORM_ID") %>'>
<%#Eval("zhiwei") %>
</a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:TemplateField HeaderText="企业名称" SortExpression="qiyeid">
<ItemTemplate>
<a href='seeenlist.aspx?getidforen=<%#Eval("qiyeid")%>'>
<%#Eval("qiye")%>
</a>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
<asp:BoundField DataField="COUNT" HeaderText="人数" SortExpression="COUNT">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="STAR_TIME" SortExpression="STAR_TIME" HeaderText="发布时间" DataFormatString="{0:yyyy-MM-dd}"
HtmlEncode="False">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="END_TIME" SortExpression="END_TIME" HeaderText="结束时间" DataFormatString="{0:yyyy-MM-dd}"
HtmlEncode="False">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="flag" HeaderText="状态">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
</Columns>
<AlternatingRowStyle BackColor="#E2F8FF"></AlternatingRowStyle>
<HeaderStyle HorizontalAlign="Center" BackColor="#99CCFF"></HeaderStyle>
<PagerStyle CssClass="cssPager" />
</asp:GridView>
<asp:Label ID="lbcontent" runat="server"></asp:Label>
</center>
</div>
</form>
</body>
.cs
{
//得到对应的简历的ID,从SN里面查看值
ccwu.Model.T_RESUME_INFO listTemp = (ccwu.Model.T_RESUME_INFO)Session["t_resume_info"];
ccwu.Model.T_ORDER_RESUME torderresume = new ccwu.Model.T_ORDER_RESUME();
int id = Convert.ToInt32(listTemp.ID.ToString());
//得到对应的简历的ID,从SN里面查看值
ccwu.DAL.T_JOB jobdal = new ccwu.DAL.T_JOB();
string where = "RESUME_INFO_ID='" + id.ToString() + "'";
DataSet ds = jobdal.getlistResume(where);
DataView dv = new DataView(ds.Tables[0]);
dv.Sort = ViewState["sortExp"].ToString() + " " + ViewState["sortDir"].ToString();
GVpositionrecods.DataSource = dv;
this.GVpositionrecods.DataBind();
if (this.GVpositionrecods.Rows.Count > 0)
{
}
else//如果数据源是空的
{
//表头的设置
GridViewRow row = new GridViewRow(-1, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
foreach (DataControlField field in this.GVpositionrecods.Columns)
{
TableCell cell = new TableCell();
cell.Text = field.HeaderText;
cell.Width = field.HeaderStyle.Width;
cell.Height = field.HeaderStyle.Height;
cell.ForeColor = field.HeaderStyle.ForeColor;
cell.Font.Size = field.HeaderStyle.Font.Size;
cell.Font.Bold = field.HeaderStyle.Font.Bold;
cell.Font.Name = field.HeaderStyle.Font.Name;
cell.Font.Strikeout = field.HeaderStyle.Font.Strikeout;
cell.Font.Underline = field.HeaderStyle.Font.Underline;
cell.BackColor = field.HeaderStyle.BackColor;
cell.VerticalAlign = field.HeaderStyle.VerticalAlign;
cell.HorizontalAlign = field.HeaderStyle.HorizontalAlign;
cell.CssClass = field.HeaderStyle.CssClass;
cell.BorderColor = field.HeaderStyle.BorderColor;
cell.BorderStyle = field.HeaderStyle.BorderStyle;
cell.BorderWidth = field.HeaderStyle.BorderWidth;
row.Cells.Add(cell);
}
TableItemStyle headStyle = this.GVpositionrecods.HeaderStyle;
TableItemStyle emptyStyle = GVpositionrecods.EmptyDataRowStyle;
emptyStyle.Width = headStyle.Width;
emptyStyle.Height = headStyle.Height;
emptyStyle.ForeColor = headStyle.ForeColor;
emptyStyle.Font.Size = headStyle.Font.Size;
emptyStyle.Font.Bold = headStyle.Font.Bold;
emptyStyle.Font.Name = headStyle.Font.Name;
emptyStyle.Font.Strikeout = headStyle.Font.Strikeout;
emptyStyle.Font.Underline = headStyle.Font.Underline;
emptyStyle.BackColor = headStyle.BackColor;
emptyStyle.VerticalAlign = headStyle.VerticalAlign;
emptyStyle.HorizontalAlign = headStyle.HorizontalAlign;
emptyStyle.CssClass = headStyle.CssClass;
emptyStyle.BorderColor = headStyle.BorderColor;
emptyStyle.BorderStyle = headStyle.BorderStyle;
emptyStyle.BorderWidth = headStyle.BorderWidth;
//空白行的设置
GridViewRow row1 = new GridViewRow(0, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
TableCell cell1 = new TableCell();
cell1.Text = "没有任何数据可以显示";
cell1.BackColor = System.Drawing.Color.White;
row1.Cells.Add(cell1);
cell1.ColumnSpan = 6;
if (this.GVpositionrecods.Controls.Count == 0)
{
GVpositionrecods.Page.Response.Write("<script language='javascript'>alert('必须在初始化表格类之前执行DataBind方法并设置EmptyDataText属性不为空!');</script>");
}
else
{
GVpositionrecods.Controls[0].Controls.Clear();
this.GVpositionrecods.Controls[0].Controls.AddAt(0, row);
this.GVpositionrecods.Controls[0].Controls.AddAt(1, row1);
}
}
}
知识点1:
GridViewRow和DataRowView完全就是两个不相干的东西 是两个级别的事情 一个是控件级别的 一个是数据级别的
GridViewRow:
MSDN解释:呈现 GridView 控件之前,必须先为该控件中的每一行创建一个 GridViewRow 对象。在创建 GridView 控件中的每一行时,将引发 RowCreated 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时就执行一个自定义例程(如在行中添加自定义内容)。
使用 RowCreated 事件将正在创建的行的索引存储在该行所包含 LinkButton 控件的 CommandArgument 属性中;(每当创建一行的时候,执行RowCreated事件里面的代码)
知识点2:(在有页码的时候,当前页码变大,且颜色也变)
用样式显示当前页码;
<style type="text/css"> .cssPager span { color:blue;} </style>
<PagerStyle CssClass="cssPager" />
转载于:https://www.cnblogs.com/muer/archive/2010/03/26/1697178.html
如何在数据源是空的时候,gridview显示表头(万能)相关推荐
- GridView绑定DataSet的DataTable,怎么让它在无记录时能显示表头呀(环境VS2005),在线等 谢谢!!
主 题: GridView绑定DataSet的DataTable,怎么让它在无记录时能显示表头呀(环境VS2005),在线等 谢谢!! 作 者: bolowang (波罗王子) ...
- 利用GridView显示主细表并一次编辑明细表所有数据的例子
全部代码如下: ASPX: <%@ Page Language="C#" ValidateRequest="false" AutoEventWireup= ...
- 用户反馈信息textbox填充数据表,页面使用gridview显示反馈意见
1.用户反馈信息textbox填充数据表 用户通过radiobuttonlist和textbox输入信息,后台代码将该信息导入数据库中. using System; using System.Coll ...
- Android成长日记-使用GridView显示多行数据
本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...
- Android自定义GridView显示一行,并且可以左右滑动
最近做一个类似滑动菜单栏的title,绑定数据源用的是GrildView,想要实现横着滑动并且GrildView只显示一行.最终采用代码形式在Activity中动态的添加布局实现. ViewGroup ...
- GridView 显示 主从表(Master-Detail)注意事项
http://smartsoft.5d6d.com/thread-795-1-1.html 1.强烈推荐采用强类型数据集作为datasource: 2.datamember 为主表名称: 3.数据集中 ...
- ASP.NET gridView 显示图片[转载]
读研的生活简直就是扯淡,中国的教育原来就是这么的悲催,后悔去读研了.不感叹了,因为帮朋友忙,写了一个关于这个的东西,所以转载别人的代码,学习,学习,不管以后如何学习都是第一位的.废话不说,上代码. 在 ...
- GridView显示图片
参考文章:http://www.cnblogs.com/jll/archive/2005/12/14/297153.html 以下内容出处忘了 = =! 在ASP.NET中经常需要使用GridView ...
- android gridview显示本地图片大小,在Android上的GridView中调整图像大小
您可以尝试根据当前设备的像素密度进行调整. DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDi ...
最新文章
- Macosx Setdns
- Py之Queue:python库之Queue的简介、安装、使用方法之详细攻略
- TCP协议的3次握手和4次挥手
- python3安装后无法使用退格键的问题
- JavaScript 函数循环、延时、节流、防抖
- 浏览器登录_经常用浏览器自动登录忘记了密码?教你一键查看网页星号密码
- 自制胎教音乐---太阳当头照
- App上架Apple App Store和Google Play流程
- 如何使用百度地图实现当前定位
- 【golang】aws s3 go sdk
- 「运维有小邓」搜索日志数据以作为网络安全情报
- 一个C#版的多选题选项及判分设计方案
- (好文重发)朴英敏:用crash工具分析Linux内核死锁的一次实战
- Rainbond插件体系设计简介
- post请求https安全证书问题2.0
- 基于FPGA的以太网控制器(MAC)设计(中)
- Silent Install Builder制作静默安装包实现软件自动部署
- 自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第三节
- 阿里云服务器搭建WORDPRESS案例
- Linux管理工具集合
热门文章
- 微信第三方平台相关的转发
- [GXOI/GZOI2019]宝牌一大堆(dp)
- git 实践(二) push的使用
- 同样是程序员,他转行在新加坡卖鱼走向巅峰!
- Gartner:全球服务器虚拟化市场正在攀向顶峰
- openssh-server (= 1:6.6p1-2ubuntu1) but it is not going to be installed
- java中IO写文件工具类
- 关于JXL读写以及修改EXCEL文件转
- java对象初始化顺序的简单验证
- jboss7的服务器开启和关闭命令