GridView用数据源控件和用DataTable作为数据源的不同
1.使用数据源控件可以自动做排序分页,不需要多余代码,可是由于自动绑定太多操作,反而觉得很不灵活
前台:
<asp:GridViewID="gv_test"DataSourceID="ds_test"AllowPaging="True" PageSize="10"runat="server">
...
</asp:GridView>
<asp:SqlDataSource runat="server" ID="ds_test" SelectCommand="select * from test" ConnectionString="...">
2.使用DataTable为数据源会发现排序,分页包括修改,取消等操作都需要手动实现
前台:
<asp:GridView ID="gv_test" runat="server"
OnRowCommand="gv_test_RowCommand" OnRowUpdating="gv_test_RowUpdating" OnRowEditing ="gv_test_RowEditing"
OnRowCancelingEdit ="gv_test_RowCancelingEdit" OnPageIndexChanging ="gv_test_PageIndexChanging"
AllowPaging="True" PageSize="10" AllowSorting="True" >
...
</asp:GridView >
后台:Page_Load: gv_test.SortExpression总是为空,只好将排序字符串储存在新建的属性里gv_test.Attributes.Add("Sort", "lastUpdateDate desc")Protected Sub bind()gv_test.DataSource = getDataTable_bySQL("select * from test order by "+gv_test.Attributes("Sort"))
gv_test.DataBind()End Sub DataView比DatatTable功能强大些,可以拿到数据后进行排序。当SQL Server的ntext列不支持order by时候,用DataView可以解决问题,如下:Protected Sub bind()gv_test.DataSource = getDataTable_bySQL("select * from test")Dim dv As DataView = New DataView(getTableData_bySQL("select * from test"))dv.Sort=gv_test.Attributes("Sort")gv_test.DataSource=dv
gv_test.DataBind()End SubProtected Sub gv_test_Sorting(ByVal sender As Object, ByVal e As GridViewSortEventArgs) Handles gv_test.Sorting
gv_test.EditIndex = -1
If gv_test.Attributes("Sort") = e.SortExpression + " desc" Then
gv_test.Attributes("Sort") = e.SortExpression
Else
gv_test.Attributes("Sort") = e.SortExpression + " desc"
End If
bind()
End Sub
Protected Sub gv_test_PageIndexChanging(ByVal sender As Object, ByVal e As GridViewPageEventArgs)
gv_test.PageIndex = e.NewPageIndex
gv_test.EditIndex = -1
bind()
End Sub
Protected Sub gv_test_RowCancelingEdit(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs)
gv_test.EditIndex = -1
bind()
End Sub
Protected Sub gv_test_RowUpdating(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv_test.RowUpdating
gv_test.EditIndex = -1
End Sub
Public Sub gv_test_RowEditing(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)
gv_test.EditIndex = e.NewEditIndex
bind()
End Sub
GridView用数据源控件和用DataTable作为数据源的不同的更多相关文章
- C#基础总结之六 DataTable (临时表/数据源) 和Datatable 名片练习
#region DataTable (临时表/数据源) 存储数据 DataTable dataTable = new DataTable(); dataTable.Columns.Add(" ...
- sqlbulkcopy 使用DataTable作为数据源的数据类型问题--来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier
今天做批量插入的时候,SQLSERVER总是报错,错误提示“来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier”. 首先核对了一下定义的dataTable ...
- WPF DataGrid使用DataTable为数据源,添加CheckBox列使用Delete删除行的方法
首先将CanUserDeleteRows设置为False, 其次是设置KeyUp事件 并自定义DataGrid.Columns修改如下 <DataGrid x:Name="DG&quo ...
- datatable绑定数据源
DataTable dt = new DataTable(); dt.Columns.Add("clmn1", System.Type.GetType("System.S ...
- gridview 绑定多个格式相同的数据源(数据查询合并)
在做项目时,要求在同一个GridView中同时显示不同分组中的前若干条数据 几个技术要点: 1.数据分组,本方法中未用group by 2.几个结果格式相同的查询合并绑定 3.取查询结果的前或后若干条 ...
- asp.net(C#)读取文件夹和子文件夹下所有文件,绑定到GRIDVIEW并排序 .
Asp部分: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyFiles ...
- cPage分页,asp.net自定义分页,url传值分页,支持datalist、gridview、Repeater等
asp.net分页是最最常用的功能,实现方式也很多,使用不同的控件有不同的分页方式. 下面分享一个我们团队内部使用了多年的一个分页控件cPage,是自己设计编写,没有冗余,简单.快速. cPage,现 ...
- 能分组的GridView
有天在想工作上的事的时候,看着.net原有的DataGridView,想起以前我写过的一篇文章,总结了一个好的Gird控件应该具备哪些功能,在那里我提及到了分组功能,就像jqGrid那样, 其实这样的 ...
- [转]GridView排序——微软提供Sort
本文转自:http://www.cnblogs.com/eva_2010/articles/1995646.html 在GridView中,根据其中的某列进行排序. 1. 页面:AllowSortin ...
随机推荐
- PAT-1021 Deepest Root (25 分) 并查集判断成环和联通+求树的深度
A graph which is connected and acyclic can be considered a tree. The height of the tree depends on t ...
- C# 阿拉伯数字转换为中文数字/中文数字转换为阿拉伯数字
项目中经常会格式化数据,转换数字的使用情况比较多,记录一下数字转换的方法! 如果需要转换为繁体中文,将数组里的汉字换成繁体中文即可. 1.阿拉伯数字转换为中文数字 /// <summary> ...
- wget的url获取方式
获取方式 每次用wget都是在网上查相应的url,但以前没怎么关注过这个url是怎么获取到的,这里总结一下 这里以下载jekins为例: 打开jekins网站:https://jenkins.io/d ...
- 3_PHP表达式_5_数据类型转换_类型自动转换
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. PHP类型转换分为类型自动转换和类型强制转换. 1.布尔型数据参与算数运算时,TRUE被转换为整数1,FALSE被 ...
- CSS3Ps -Photoshop图层特效转CSS3代码
CSS3Ps 这个ps插件可以将ps图层特效直接转化成css3代码,对前端非常有益. 插件下载:http://css3ps.com/Download/
- weui中的picker滑动报错
html { touch-action: none; } 在页面插入上述代码即可解决
- react-native 沉浸式状态栏
使用StatusBar即可实现沉浸式,但是必须把背景色设置为透明.否则如果有不同页面的头部颜色不一样的话,导航栏的颜色动画会很怪异,不会是跟着页面一起动画. <StatusBar barStyl ...
- JS实现倒计时效果,并退出系统
背景:由于单点登录后,一直在本系统操作,可是门户体统的会话失效时间有30分钟,所以30分钟后,需要重新登录系统才可以进行操作. 方法:想过在本系统中的每个操作都先跟门户系统进行交互,渠道refresh ...
- How to : SAP PI Cache Refresh
Requirement : Identify various tools/resources available to perform SAP PI Cache refresh . Please no ...
- oracle的LAST_DAY()函数
转自:https://blog.csdn.net/u012581453/article/details/53727936 LAST_DAY LAST_DAY函数返回指定日期对应月份的最后一天. 获取当 ...