首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
wangchinaking (57)
yjz0065 (113)
coofucoo (105)
Drate (69)
lphpc (30)
smallnest (61)
iiprogram (64)
downmoon (32)
danny_xcz (49)
btbtd (81)
CSDN - 文档中心 - .NET 阅读:8605   评论: 2    参与评论
标题   创建固定表头、表格体滚动的DataGrid     选择自 net_lover 的 Blog
关键字   DataGrid
出处  

创建固定表头、表格体滚动的DataGrid

孟子E章

在使用DataGrid时,有时候需要表头表头固定、表格体的内容可以滚动,下面的代码就是实现这个功能的代码。

查看例子

ShowFixedHeader.aspx

<%@ Page Language="vb" EnableViewState="False" AutoEventWireup="false" Codebehind="ShowFixedHeader.aspx.vb" Inherits="aspxWeb.mengxianhui.com.ShowFixedHeader"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title id="lucky_elove" runat="server"></title> <meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0"> <meta name="CODE_LANGUAGE" content="Visual Basic 7.0"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout" leftmargin="0"> <table align="center"> <tr> <td> <form id="Form1" method="post" runat="server"> <TABLE id="Table1" runat="server" cellSpacing="1" cellPadding="2" width="720" border="1" bgcolor="#cc6633" bordercolor="#cc9966" style="FONT-SIZE:9pt;BORDER-BOTTOM:0px"> <TR align="center"> <TD colspan="2" width="430"></TD> <TD width="190" colspan="2"></TD> </TR> <TR align="center"> <TD width="360" bgcolor="#66cc99"></TD> <TD width="180" bgcolor="white"></TD> <TD width="140" bgcolor="#99cccc"></TD> <TD width="40" bgcolor="#009999"></TD> </TR> </TABLE> <div style="BORDER:0px;PADDING:0px;MARGIN:0px;OVERFLOW:auto;WIDTH:736px;HEIGHT:200px"> <asp:DataGrid id="DataGrid1" width="720px" CellPadding="2" CellSpacing="1" BorderColor="#cc9966" Font-Size="9pt" AlternatingItemStyle-BackColor="#6699ff" runat="server" ShowHeader="False" AutoGenerateColumns="False"> <Columns> <asp:BoundColumn DataField="Title"> <ItemStyle Width="360px"></ItemStyle> </asp:BoundColumn> <asp:BoundColumn DataField="CreateDate"> <ItemStyle Width="180px" HorizontalAlign="Center"></ItemStyle> </asp:BoundColumn> <asp:BoundColumn DataField="pid"> <ItemStyle Width="140px" HorizontalAlign="Center"></ItemStyle> </asp:BoundColumn> <asp:BoundColumn DataField="HitCount"> <ItemStyle Width="40px" HorizontalAlign="Center"></ItemStyle> </asp:BoundColumn> </Columns> </asp:DataGrid> </div> </form> </td> </tr> </table> </body> </HTML>

ShowFixedHeader.aspx.vb

Imports System Imports System.Data Imports System.Data.OleDb Public Class ShowFixedHeader Inherits System.Web.UI.Page Protected WithEvents Table1 As System.Web.UI.HtmlControls.HtmlTable Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid Protected WithEvents Form1 As System.Web.UI.HtmlControls.HtmlForm Protected WithEvents lucky_elove As HtmlControls.HtmlGenericControl #Region " Web Form Designer Generated Code " 'This call is required by the Web Form Designer. <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: This method call is required by the Web Form Designer 'Do not modify it using the code editor. InitializeComponent() End Sub #End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load lucky_elove.InnerText = "【孟宪会之精彩世界】 - 跨栏表头的实现" Table1.Rows(0).Cells(0).InnerText = "【孟宪会之精彩世界】.NET版本之最新文章" Table1.Rows(0).Cells(1).InnerText = "文章信息" Table1.Rows(1).Cells(0).InnerText = "文章标题" Table1.Rows(1).Cells(1).InnerText = "发布时间" Table1.Rows(1).Cells(2).InnerText = "所属栏目" Table1.Rows(1).Cells(3).InnerText = "点击率" Table1.Rows(0).Style.Add("color", "white") Table1.Rows(0).Style.Add("font-weight", "bold") Table1.Rows(0).Cells(0).Attributes.Add("onclick",_ "window.open('http://lucky_elove.www1.dotnetplayground.com/')") Table1.Rows(0).Cells(0).Style.Add("cursor", "hand") Try Dim cnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="_ + Server.MapPath("Test.mdb") Dim cn As New OleDbConnection(cnString) cn.Open() Dim strSQL As String = "SELECT TOP 30 D.Title,D.CreateDate,S.Title as pid,D.HitCount "_ + "FROM Document D INNER JOIN Subject S ON D.pid = S.id ORDER BY CreateDate DESC" Dim cmd As New OleDbCommand(strSQL, cn) DataGrid1.DataSource = cmd.ExecuteReader DataGrid1.DataBind() cn.Close() cn = Nothing Catch eOle As OleDbException Response.Write("产生错误:" + eOle.Message) End Try End Sub Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, _ ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then If e.Item.Cells(0).Text.Length > 26 Then e.Item.Cells(0).Attributes.Add("Title", e.Item.Cells(0).Text) e.Item.Cells(0).Text = e.Item.Cells(0).Text.Substring(0, 26) + "…" End If e.Item.Cells(1).Text = Format(System.Convert.ToDateTime(e.Item.Cells(1).Text),_ "yyyy年M月d日 h点m分s秒") End If End Sub End Class

相关文章
对该文的评论
zsms2 ( 2004-07-02)
这样表头的宽度好象不能控制的很好,对不齐吧
sheyu8 ( 2004-01-20)
没有注释?