首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>.NET2.0>gridview表头固定并实现打印到excel功能代码
gridview表头固定并实现打印到excel功能代码
来源: 发布时间:2008-03-10 发布人: 浏览: 人次   字体: [ ]  

值得注意的是VerifyRenderingInServerForm重载方法:
  MSDN上的 VerifyRenderingInServerForm 方法的描述:
  必须位于 <form runat=server> 标记中的控件可以在呈现之前调用此方法,以便在控件被置于标记外时显示错误信息。发送回或依赖于注册的脚本块的控件应该在 Control.Render 方法的重写中调用此方法。呈现服务器窗体元素的方式不同的页可以重写此方法以在不同的条件下引发异常。
  如果回发或使用客户端脚本的服务器控件没有包含在 HtmlForm 服务器控件 (<form runat="server">) 标记中,它们将无法正常工作。这些控件可以在呈现时调用该方法,以在它们没有包含在 HtmlForm 控件中时提供明确的错误信息。
  开发自定义服务器控件时,通常在为任何类型的输入标记重写 Render 方法时调用该方法。这在输入控件调用 GetPostBackEventReference 或发出客户端脚本时尤其重要。复合服务器控件不需要作出此调用。

没有这个方法,程序将报错。

在我们把GridView上的数据导入到Excel的时候,如果遇到比较长的数字字符串,比如身份证号码,就会在Excel里当成数字看待,并转换成科学计数法的格式,造成数据的丢失,下面这个方法就解决了这个问题,并示例如何进行其它的格式化。


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Modules_test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>无标题页</title>
    
<style type="text/css">
.Freezing
   
{
   
   position
:relative ;
   table-layout
:fixed;
   top
:expression(this.offsetParent.scrollTop);
   z-index
: 10;
   
}
 

.Freezing th
{text-overflow:ellipsis;overflow:hidden;white-space: nowrap;padding:2px;}
</style>
</head>
<body>
    
<form id="form1" runat="server">
        
<div runat="server" style="overflow-y: scroll; height: 200px; width: 300px">
            
<asp:GridView ID="GridView1" runat="server" CellPadding="3"
                 BackColor
="White" BorderColor="#CCCCCC"
                BorderStyle
="None" BorderWidth="1px" Font-Size="12px" OnRowDataBound="GridView1_RowDataBound" >
                
<FooterStyle BackColor="White" ForeColor="#000066" />
                
<RowStyle ForeColor="#000066" />
                
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
                
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" CssClass="Freezing" />
            
</asp:GridView>
        
</div>
        
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    
</form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;

public partial class Modules_test : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            
//GridView1.Attributes.Add("style", "table-layout:fixed");
            GridView1.BorderWidth = Unit.Pixel(2);
            GridView1.BorderColor 
= System.Drawing.Color.DarkOrange;

            GridView1.DataSource 
= CreateDataSource();
            GridView1.DataBind();
        }

    }


    ICollection CreateDataSource()
    
{
       DataTable dt = new DataTable();
        DataRow dr;
        dt.Columns.Add(new DataColumn("身份证号码", typeof(string)));
        dt.Columns.Add(new DataColumn("图书单价",typeof(decimal)));
        dt.Columns.Add(new DataColumn("购买数量",typeof(Int32)));
        dt.Columns.Add(new DataColumn("总价格",typeof(decimal)));


        for (int i = 0; i < 30; i++) 
        {
        dr = dt.NewRow();

        dr[0] = "123456789123456789";
        dr[1] = 100 * i /3.0;
        dr[2] = i + 5;
        dr[3] = (decimal)dr[1] * (Int32)dr[2]; 
        dt.Rows.Add(dr);
        }
        DataView dv = new DataView(dt);
        return dv;

    }

共2页: 上一页 1 [2] 下一页
相 关 文 章   发布商链接
·重写GridView实现单击行变色的效果代...
·图解ASP.NET下AJAX安装(VS2005下安...
·Gridview控件字段内容过长的解决方法...
·实例解决GridView中弹出对话框并改变...
·Net2.0中使用母版页及其母版页的控件
·为GridView控件添加分页导航条形式代...
·GridView中固定列的两种方法
·DataView对象获取数据行相应列值的两...
·VS2005利用TreeView控件和递归函数动...
·GridView通过模板列实现第一列显示出...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·实例讲解在.net2.0中对config
·包含32种常见的用户输入验证...
·asp.net不使用服务器控件的情
·如何更改单个aspx页面的编码...
·实例讲解如何设置gridview的...
·asp.NET 2.0中引发CSS失效问...
·GridView通过模板列实现第一...
·VS2005利用TreeView控件和递...
·DataView对象获取数据行相应...
·GridView中固定列的两种方法
·为GridView控件添加分页导航...
·Net2.0中使用母版页及其母版...
·实例解决GridView中弹出对话...
·Gridview控件字段内容过长的...
·图解ASP.NET下AJAX安装(VS20...
热 门 文 章
·asp.net(C#)弹出窗口返回值并...
·VS2005利用Excel组件操作Exce...
·AJAX实现无刷新适时显示gridV...
·Js获取radiobuttonlist选中值...
·gridview绑定数据显示的各种...
·ASP.NET中“无法加载 DLL 找...
·asp.net2.0回发或回调参数无...
·asp.net文件下载防止乱码出现...
·实现gridview内容打印功能的...
·图解ASP.NET下AJAX安装(VS20...
·ASP.NET多个用户控件回车提交...
·实例解决GridView中弹出对话...
·gridview空数据源时仍显示表...
·asp.net中GridView每个单元格...
·Asp.net页面传递参数的几种方...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .