当前位置:首页>网络学院>程序开发>ASP.NET教程>文章内容

Asp.Net实例:创建自滚动的DataGrid

[ 来源:www.it55.com | 作者: | 时间:2007-07-15 | 收藏 | 推荐 ] 【

在使用DataGrid时,如果页面很长,可能需要用户自己来拉动滚动条,下面的例子实现了自动滚动的功能。其基本原理就是利用了LinkButton的锚点的功能,如果使用PushButton,那还必须自己添加锚点。另外必须弄明白的是Page的PostBack时的客户端脚本: 免费资源www.it55.com

<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform = document.Form1;
theform.__EVENTTARGET.value = eventTarget;
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>
这段脚本中__doPostBack函数有两个参数:第一个eventTarget是触发PostBack的控件的UniqueID;第二参数eventArgument是一个对象,包含PostBack的额外信息。因此我们使用UniqueID来作为锚点的值。

vd;k;l www.it55.com rdfg

源代码如下: www.it55.com在线教程

查看例子 http://www.it55.com/

DataGridAutoScroll.aspx it55.com

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DataGridAutoScroll.aspx.vb"
Inherits="aspxWeb.DataGridAutoScroll"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title runat="server" id="mengxianhui"></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>
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="DataGrid1" runat="server" BorderColor="#CC9966" BorderStyle="None"
BorderWidth="1px" BackColor="White" CellPadding="4">
<SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66"></SelectedItemStyle> 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
<ItemStyle ForeColor="#330099" BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="#FFFFCC" BackColor="#990000"></HeaderStyle>
<FooterStyle ForeColor="#330099" BackColor="#FFFFCC"></FooterStyle>
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update"
CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#330099" BackColor="#FFFFCC"></PagerStyle>
</asp:DataGrid>
</form>
</body>
</HTML>
代码:DataGridAutoScroll.aspx.vb

sflj www.it55.com kg^&fgd

Imports System
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Collections
Imports System.Data
Imports System.Data.SqlClient

it55.com

Public Class DataGridAutoScroll
Inherits System.Web.UI.Page
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected mengxianhui As New HtmlGenericControl()

http://www.it55.com/

#Region " Web Form Designer Generated Code "
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
http://www.it55.com/

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
InitializeComponent()
End Sub
免费资源www.it55.com

#End Region it55.com

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
mengxianhui.InnerText = "【孟宪会之精彩世界】之.NET开发者园地"
If Not Page.IsPostBack Then
DataGrid1.DataSource = CreateDataSource()
DataGrid1.DataBind()
Else
Dim startUpScript As String
startUpScript = "<script language=Javascript>location.href='http://www.dwww.cn/New/#" _
& Request.Form("__EVENTTARGET") & "';</script>"
Me.RegisterStartupScript(Me.UniqueID & "StartUp", startUpScript)
End If

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

End Sub

IT资讯之家 www.it55.com

Function CreateDataSource() As ICollection sflj www.it55.com kg^&fgd

Dim dt As DataTable
Dim dr As DataRow
Dim i As Integer
http://www.it55.com/

'创建 DataTable
dt = New DataTable()
dt.Columns.Add(New DataColumn("字符型值", GetType(String)))
dt.Columns.Add(New DataColumn("布尔型值", GetType(Boolean)))
dt.Columns.Add(New DataColumn("货币型值", GetType(Double)))
www.it55.com

'示例数据
For i = 1 To 150
dr = dt.NewRow()
dr(0) = "Item " + i.ToString()
If (i Mod 2 <> 0) Then
dr(1) = True
Else
dr(1) = False
End If
dr(2) = 1.23 * (i + 1)
'向datatable添加 row
dt.Rows.Add(dr)
Next

www.it55.com

'返回DataTable的DataView
CreateDataSource = New DataView(dt)

(编辑:IT资讯之家 www.it55.com

返回顶部
共2页: 上一页 1 [2] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

图片文章