有滚动条、固定Header的ASP.Net DataGrid实现

客户要一个有滚动条的ASP.Net DataGrid控件,只好写了:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Web.UI.Design.WebControls;
using System.Text;
using System.Drawing;

[assembly:TagPrefix("Microsoft.Gtec.Dsv", "gtecdsv")]
namespace Microsoft.Gtec.Dsv
{
/// <summary>
/// Summary description for WebCustomControl1.
/// </summary>
[ToolboxData("<{0}:ScrollableFixedHeaderDataGrid runat=server></{0}:ScrollableFixedHeaderDataGrid>")]
public class ScrollableFixedHeaderDataGrid: System.Web.UI.WebControls.DataGrid
{
protected override void Render(HtmlTextWriter output)
{
//Use this flag to determine whether the component is in design-time or runtime.
//The control will be rendered differently in IDE.
//Don't bother to use DataGridDesigner.GetDesignTimeHtml
bool designMode = ((Site != null) && (Site.DesignMode));
//Backing up the properties need to change during the render process
string tempLeft = Style["LEFT"];
string tempTop = Style["TOP"];
Unit tempHeight = Height;
string tempTableStyle = Style["TABLE-LAYOUT"];

//Render a "<div>" container with scrollbars.
output.WriteBeginTag("div");
output.WriteAttribute("id",ID + "_div");
output.WriteAttribute("style",
"HEIGHT: " + Height + ";" +
//Leave 20px for the vertical scroll bar,
//assuming the end-user will not set his scroll bar to more than 20px.
"WIDTH: " + (Width.Value + 20) + "px;" +
"TOP: " + Style["TOP"] + ";" +

时间: 2024-11-05 19:00:42

有滚动条、固定Header的ASP.Net DataGrid实现的相关文章

asp.net datagrid实现多层表头

asp.net|datagrid   using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlCon

ASP.NET Datagrid创建自定义列

asp.net|datagrid|创建 简介 不得不承认,为 Microsoft? ASP.NET 编写 Datagrid 代码包括大量的重复工作.尽管我深受该控件的困扰,但我还是不断寻找简化这类任务的捷径.谁都不愿意做重复的工作,对不对?为了摆脱这种烦人的工作,我们要将多个项目中的重复代码封装到一个可重复使用的程序包中.这才是面向对象的编程工作所要解决的问题,使用 Datagrid 也不例外.对于 Datagrid 控件来说,要实现该目的,需要将常用的代码放到一个内置的列类型中(将在第一个示例

[ASP.net]DataGrid鼠标事件方法

asp.net|datagrid JS文件源码:GridColorControl.js===================================== /*-----------------调用说明-----------------说明:可用于架设页面事件.入口函数:OnFocusSet(....)如:OnFocusSet( "#000000","#FFFFFF","#FFFFFF","#000000" ) 实用调用

asp.net datagrid如何在最后一行作求和:

asp.net|datagrid 我现在是在数据源里先求完和后,在绑定数据源里再追加一行,然后再绑定过去的.但这种方式没法对这最后一行做更特殊的处理,不知各位有什么好的建议?

Cutting Edge:使用客户端行为扩展ASP.NET DataGrid 控件

asp.net|datagrid|客户端|控件 Cutting Edge:使用客户端行为扩展ASP.NET DataGrid 控件 (可拖动列和客户端排序) 英文原文:Extend the ASP.NET DataGrid with Client-side Behaviors作者:Dino Esposito翻译:MasterLRC源码:CuttingEdge0401.exe 如同比萨饼厨师的擀面杖,DataGrid 控件,对于一个熟练的ASP.NET开发者来说是非常基本而且有用的工具(译者:老外

动态的管理ASP.NET DataGrid数据列

asp.net|datagrid|动态|数据 在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns.其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就是在HTML视图模式下更改HTML代码的方式增加Columns列.但是这两种方式都是在设计时进行的,一旦设计完成就无法更改.其实我们也可以在程序运行时动态的增加或者删除Colum

ASP.NET DataGrid 控件深入研究

asp.net|datagrid|控件 首先我们将从一个示范开始,在这个示范中我将使用一个按钮点击事件排序表格中的数据.然后介绍的是一组属性--HyperlinkColumn.BottonColumn 和 BoundColumn,使用这些属性可以为 DataGrid 添加一些有趣的自定义功能. 下面我们首先从上一次结束的地方--清单A开始.下面是清单A中代码的输出. DataGrid 的输出 要注意的第一个变化是表头中的列名现在是可点击的.自己运行一下这个示例,你会发现在点击每个字段时,数据会自

[ASP.net]DataGrid鼠标事件处理

asp.net|datagrid 完成功能是DataGrid的页面选中事件.鼠标事件.双击事件改变TR的色彩.代码很简单,只是一点JS操作. JS文件:GridControl.js============================= /*------------ DataGrid鼠标事件处理 ------------功能:用于数据梆定后鼠标事件参数说明:obj:对像thisfontColor:字体颜色backColor:背景颜色-------------------------------

利用ASP.NET DataGrid显示主次关系的数据

asp.net|datagrid|数据|显示 大家在实际工作中有没有遇到要在DataGrid中显示带有主次结构的数据呢?如果你对ADO.NET和SQL Server2000熟悉的话,我们下面就举一个利用VS.NET自带的示例数据库Northwind和VB.NET来说明如何实现这一目标.首先,我们先准备要显示的带有主次结构的数据. 下面就是要绑定到HierarchicalDataGrid.aspx的VB.NET代码文件HierarchicalDataGrid.aspx.vb的内容: Imports