ASP.NET:DataGrid控件的排序功能

asp.net|datagrid|datagrid控件|排序

  上一节我们已经知道DataGrid排序功能是由AllowSorting属性控制的,这一小节里,我们将通过实例来验证这个功能。
    在DataCon Web项目里,添加一个窗体,命名为DataGrid_Sample4.aspx,添加一个DataGrid控件,DataGrid_Sample4.aspx的主要HTML代码如下:
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
   <FONT face="宋体"></FONT> 
   <asp:DataGrid id="DataGrid1"
            runat="server" PageSize =6
 AllowPaging="True" AllowSorting="True" BorderColor="#009900" BorderWidth="1px" CellPadding="0">
    <AlternatingItemStyle
               Font-Size="X-Small" BackColor="WhiteSmoke"> </AlternatingItemStyle>
 <ItemStyle Font-Size="X-Small" BackColor="#FFFFFF"> </ItemStyle>
   <HeaderStyle Font-Size="X-Small" Font-Bold="True" BackColor="LightSteelBlue"></HeaderStyle>
   <FooterStyle Wrap="False" BackColor="LightGray"></FooterStyle>
   <PagerStyle Font-Size="X-Small" Font-Bold="True" Position="TopAndBottom" BackColor="Linen" Mode="NumericPages"></PagerStyle>
  </asp:DataGrid>
</form>
</body>
DataGrid_Sample4.aspx.vb中的代码如下:

'----code begin----
'引入名称空间
Imports System
Imports System.Data
Imports System.Web.UI
Public Class DataGrid_Sample4_aspx
    Inherits System.Web.UI.Page
#Region " Web 窗体设计器生成的代码 "
    '此处省略了窗体设计器生成的代码,以节约篇幅
#End Region
  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '使用viewstate("sort")来保存DataGrid排列数据的依据,初始化为id字段
        viewstate("sort") = "id"
        '调用数据绑定过程
        getdata()
End Sub
    '读取数据信息过程
    Sub getdata()
        Dim mycon As OleDb.OleDbConnection
        Try
            mycon = New OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Server.MapPath(".") + "\StudentInfor.mdb")
            Dim mycmd As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter("select * from student", mycon)
            Dim dt As Data.DataSet = New Data.DataSet
            mycmd.Fill(dt)
            Dim dv As Data.DataView = New Data.DataView
            '声明DataView类,并实例化
            dv = dt.Tables(0).DefaultView
            dv.Sort = viewstate("sort")
            '指定DataView类的Sort值,这个值由viewstate("sort")传入
            DataGrid1.DataSource = dv
            '指定DataGrid1的数据源为DataView
            DataGrid1.DataBind()
        Catch ex As Exception
            Response.Write("程序出现错误,信息描述如下:<br>" & ex.Message.ToString)
        Finally
            mycon.Close()
        End Try
End Sub
    '翻页事件过程
 Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
        DataGrid1.CurrentPageIndex = e.NewPageIndex
        getdata()
End Sub
    '请求排列顺序事件过程
 Private Sub DataGrid1_SortCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles DataGrid1.SortCommand
        viewstate("sort") = e.SortExpression.ToString
        getdata()
End Sub
End Class
'-----code end ----------
保存编译后,运行效果如图9.9所示。


图9.9  DataGrid_Sample4.aspx运行结果

时间: 2024-09-04 02:16:56

ASP.NET:DataGrid控件的排序功能的相关文章

ASP.NET:DataGrid控件的分页功能

asp.net|datagrid|datagrid控件|分页 DataGrid 控件是一个基于模板样式的.多功能的.多列的数据绑定控件.在三个数据绑定控件中,DataGrid是功能最为强大的,其次时DataList控件,然后是轻量级的数据绑定控件Repeater.要自定义 DataGrid 中各列的布局,您可以将列类型设置为"模板",然后修改列的模板.DataGrid 控件也可以无需模板,只需按照默认的设置即可进行呈现,这使得该控件成了用于报告方案的理想控件.      我们可以把Da

ASP.NET:优化DataGrid控件的编辑功能

asp.net|datagrid|datagrid控件|优化 尽管在上面的实例中我们已经实现了DataGrid的在线编辑功能,但是,如果我们已经习惯了C/S 结构的程序,就会感觉到上个实例中编辑的不足:提交数据频繁,加重了服务器的负担.在这一节中,我们利用一个实例来演示优化后的DataGrid控件的编辑功能,其中的技术就是引入批量更新数据.引入的一个新知识就是控件的FindControl方法.     我们来看具体实例.首先在DataCon Web项目里,添加一个Web Form,命名为Data

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

ASP.NET:DataGrid控件的编辑功能

asp.net|datagrid|datagrid控件 在ASP技术作Web编程的时候,因为对数据库的操作使用的RecordSet对象,如果不使用第三方控件,想要做到在线编辑数据就很困难.而DataGrid控件就支持了在线编辑的功能,只要把EditCommandColumn属性设置适当,稍加编程就可以实现了. DataGrid控件的EditItemIndex属性表示编辑按钮的类别,ASP.NET默认的EditItemIndex=-1,即不支持编辑属性.下面我们通过实例来学习一下.     在Da

WPF 4 DataGrid 控件(基本功能篇)

提到DataGrid 不管是网页还是应用程序开发都会频繁使用.通过它我们可以灵活的在行与列间显示各种数据.本篇将详细介绍WPF 4 中DataGrid 的相关功能. 自定义列 默认情况下,当我们为DataGrid 控件设置ItemSource 属性后,DataGrid 会根据数据类型自动生成相应的列,下表列出DataGrid 支持 的四种列及其数据类型. 在创建DataGrid 时可以通过AutoGenerateColumns 属性设置列是否自动生成,从而加入自定义列.如果DataGrid 中同

asp.net Datalist控件实现分页功能_实用技巧

在.aspx页面里的代码 复制代码 代码如下: <asp:DataList ID="DataList1" runat="server" Width="976px" Height="745px" BorderWidth="2px" CellPadding="2" CellSpacing="2" RepeatColumns="7" RepeatD

WPF 4 DataGrid 控件(自定义样式篇)

在<WPF 4 DataGrid 控件(基本功能篇)>中我们已经学习了DataGrid 的基本功能及使用方法.本篇将继续介绍自定义DataGrid 样 式的相关内容,其中将涉及到ColumnHeader.RowHeader.Row.Cell 的各种样式设置. ColumnHeaderStyle 属性 一般来讲列表头是用户首先注意的内容,那么如何在DataGrid 中设计一个美观的表头呢.我们既可以在<DataGrid>中通过 <DataGrid.ColumnHeaderSty

使用 ASP+ DataGrid 控件来创建主视图/详细资料视图

asp+|datagrid|创建|控件|视图 简介 Microsoft Visual Studio.NET 的下一发行版包括 DataGrid Web 控件 (作为服务器控件的 Active Server Page+ (ASP+) 套件的一部分). 该控件提供用以根据数据源的内容来表示 HTML 的功能. DataGrid 控件可以用于若干个只读汇报情形.该控件设计用于对丰富而完全可定制的数据表格布局的输出进行简化.还提供多个机制,用于通过超级链接及其对选择.排序.分页和原地编辑和其它特性的支持