C# asp.net repeater实现排序功能,自动排序,点击头部排序,点击列排序
在网上看到好多关于repeater排序的,自己动手用了,发现一些问题,贴源码后把发现的问题以及解决方法给出
repeater实现排序功能(单击升序排列,再单击降序排列).原理很简单,在<TD>中加个Onclick,用它来触发一个LinkButton的服务器事件.LinkButton的服务器事件里重新对数据源进行排序.然后再绑定Repeater.
要实现,首先需要在HTML里面加个javascript函数和两个Hidden,一个用来储存要排序的字段,还有一个用来储存升序还是降序.(asc/desc)
Javascript代码如下:
要引用JQ框架
- <script language="javascript">
- function Getsort(obj)
- {
- $("#sortTitle").val(obj);
- //给sortTitle赋值,要有name值
- //如果您没有引用是JQ,用document . getElementById ( sID ) 此处不教大家怎么用js给控件赋值 以及取值了
- var sortOrder=$("#<%=sortOrder.ClientID %>").val();
- //获取sortOrder值,并判断,如果一样就重新赋值,值前面有个空格,为了sql语句中用的时候方便
- if (sortOrder == ' ASC'
- {
- $("#<%=sortOrder.ClientID %>").val(" DESC")
- }
- else
- {
- $("#<%=sortOrder.ClientID %>").val(" ASC")
- }
- __doPostBack('ctl00$ContentPlaceHolder1$btnSort','');
- }
- </script>
HTML中:
- <input type="hidden" id="sortTitle" name="sortTitle" />
- <input type="hidden" id="sortOrder" runat="server" value=" ASC" name="sortOrder" /> //我的ASC前面有个空格
- <asp:LinkButton ID="btnSort" runat="server" name="btnSort" OnClick="btnSort_Click"></asp:LinkButton>
- <td onclick="Getsort('num');">
- <b>单击此处可排序</b>
- </td>
后台代码如下:
- private void Page_Load(object sender, System.EventArgs e)
- {
- if (!Page.IsPostBack)
- {
- BindData();
- }
- protected void btnSort_Click(object sender, EventArgs e)
- {
- 在这个方法里面重新绑定调用Repeater就行了
- BindData();
- }
- public void BindData(int pageIndex, string where)
- {
- string sortTitle = Request.Form["sortTitle"];
- if (sortTitle == "" || sortTitle == null)
- sortTitle = "Id";
- //默认第一次加载按照id排序
- string order = sortTitle + sortOrder.Value;
- //这样就获取了 order 的排序,写到你的sql语句排序中就行了,完毕
- //第一个我用客户端空间,第二个用的是服务器端控件,runat="server" ,注意
- }
- }
上面主要列举了排序功能实现的代码.在HTML中的onclick中,您可以给Getsort方法不同的参数以获得对不同的字段进行排序,注意, Getsort方法的参数一定要设置为你想排序的字段名称.这样你就可以实现双击不同的列头进行当前列的排序功能.
整个实现的重点在设置 Repeater的sort属性,BindData事件中获取(在哪获取都行)当前排序的字段和排序顺序的String,然后传给 BindData方法.此方法根据传来的参数将DataView的Sort重新设置或者写到你sql语句中,然后绑定Repeater控件.OK!
C# asp.net repeater实现排序功能,自动排序,点击头部排序,点击列排序的更多相关文章
- JS实现前台表格排序功能
JS实现前台表格排序功能 虽然数据量不大的情况下,前台排序速度比较快,但一般情况下,我们的项目只使用后台排序,原因有二: 一是代码简单:二是前台JS排序对于有分页的情况无法处理. 前段时间,有个功能需 ...
- iot表输出按主键列排序,heap表不是
<pre name="code" class="html"> create table t1 (id char(10) primary key,a1 ...
- 禁用datagridview中的自动排序功能
把datagridview中的自动排序功能禁用自己收集的两种方法,看看吧①DataGridView中的Columns属性里面可以设置.进入"EditColumns"窗口后,在相应的 ...
- yii去掉自动排序功能
Yii去掉自动排序功能并自定义排序 public function search($params) { $query = SvnManage::find()->addOrderBy([ 'cre ...
- Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展
Asp.net mvc 5 CRUD代码自动生成工具 -Visual Studio.net2013 Saffolding功能扩展 上次做过一个<Asp.net webform scaffoldi ...
- MVC5 Entity Framework学习参加排序、筛选和排序功能
上一篇文章实现Student 基本的实体CRUD操作.本文将展示如何Students Index页添加排序.筛选和分页功能. 以下是排序完成时.经过筛选和分页功能截图,您可以在列标题点击排序. 1.为 ...
- 一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!
一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法! 对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有 ...
- YII关联字段并带搜索排序功能
1.简介 从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册. 在上一个项目中因为需要将关联的表的字段 ...
- php接口实现拖拽排序功能
列表拖拽排序是一个很常见的功能,但是后端接口如何处理却是一个令人纠结的问题 如何实现才能达到效率最高呢 先分析一个场景,假如有一个页面有十条数据,所谓的拖拽就是在这十条数据来来回回的拖,但是每次拖动都 ...
随机推荐
- 微信小程序-template模板
============================= 构建template模板 ============================= 1.分析得出共为 ...
- JavaScript 面向对象的编程(二) 类的封装
类的定义 方式一 var Book = function(id, name, price){ //私有属性,外部不能直接访问 var num = 1; //私有方法, function checkId ...
- POJ 3270 置换群问题
题目大意是: 每头牛都有一个对应的值a[i],现在给定一个初始的牛的序列,希望通过两两交换,能够使这些牛按值升序排列,每次交换都会耗费一个 a[i]+a[j] 希望耗费最小,求出这个最小耗费 个人觉得 ...
- 170611 NOIP模拟赛
第一题没做出来不应该: 第二题不难想,就是写起来很麻烦: 第三题因为学了挺久的splay就直接写的splay,没太在意常数问题,一般情况下,第k值问题主席树是比splay稍快的: 盘子序列 [题目描述 ...
- Java使用JNative调用DLL库
编写测试DLL文件,源文件参照JNA调用用的DLL文件.地址:http://www.cnblogs.com/vevy/p/9076941.html (很重要)右键项目 --> 属性 --> ...
- Ubuntu桌面卡死时的处理
1.这种方式可以尝试,但是不成功 sudo skill x sudo stop lightdm sudo start lightdm 2.这种方式比较可靠 ps -t tty7 kill 27342 ...
- Java中基于HTTP协议网络编程
java中为我们的网络支持提供了java.net包,能够使我们以编程的方式来訪问Web服务功能,这篇博客,就跟大家分享一下.Java中的网络编程的知识.主要是学习下该java.net包下的API. U ...
- 转:SQL 索引最左前缀原理
表结构和索引列 假设数据库中表是这样的: 我们只考虑一张表employees.titles: 索引是(emp_no,title,from_date) SHOW INDEX FROM employee ...
- [Vue] Props Validations
Components can specify requirements for its props, such as the types you’ve already seen. If a requi ...
- 大数据分析:结合 Hadoop或 Elastic MapReduce使用 Hunk
作者 Jonathan Allen ,译者 张晓鹏 Hunk是Splunk公司一款比較新的产品,用来对Hadoop和其他NoSQL数据存储进行探測和可视化,它的新版本号将会支持亚马逊的Elastic ...