aspx代码

<table cellspacing="0" cellpadding="0" width="100%" align="center" border="0" class="tdh">
<tr class="tabletda">
<td style="width:35%">
<strong>栏目名称</strong>
</td>
<td style="width:35%">
<strong>排序</strong>
</td>
<td>
<strong>操作</strong></td>
</tr>
<asp:Repeater ID="ReptType" runat="server" OnItemDataBound="ReptType_ItemDataBound">
<ItemTemplate>
<tr class="tdbg" onmouseover="this.style.backgroundColor='#eff6fc'" onmouseout="this.style.backgroundColor=''">
<td style="height:25px;">
<%#Eval("lmname")%>
</td>
<td align="center">
<asp:HiddenField ID="zindex" runat="server" Value=<%# Container.ItemIndex%> />
<asp:ImageButton ID="linkUp" ImageUrl="images/up.png" CommandArgument='<%#Eval("ID")%>' CommandName='<%#Eval("xu")%>' runat="server" OnClick="lbUp_Click" />
&nbsp;
<asp:ImageButton ID="linkDown" ImageUrl="images/down.png" CommandArgument='<%#Eval("ID")%>' CommandName='<%#Eval("xu")%>' runat="server" OnClick="lbDown_Click" />
</td>
<td align="center">
<a href="lmrightAdd.aspx?cid=<%=Request.QueryString["cid"] %>&id=<%#Eval("ID")%>">修改</a>
&nbsp;
<asp:LinkButton ID="lbDel" runat="server" OnClick="lbDel_Click" OnClientClick="return confirm('您确认要删除吗?')" CommandArgument='<%#Eval("ID")%>' ForeColor="red">删除</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>

cs代码:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;using System.Text;
public partial class List : adminFace
{
public int datacount = ;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ReptDT();
}
}
/// <summary>
/// 邦定类别数据
/// </summary>
public void ReptDT()
{
string sql = "select * from dtname order by xu asc";
DataTable dt = Maticsoft.DBUtility.DbHelperSQL.Query(sql).Tables[];
datacount = dt.Rows.Count;
ReptType.DataSource = dt;
ReptType.DataBind(); }
/// <summary>
/// 被绑定数据后触发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ReptType_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//上移
ImageButton linkUp = e.Item.FindControl("linkUp") as ImageButton;
ImageButton linkDown = e.Item.FindControl("linkDown") as ImageButton;
if (e.Item.ItemIndex == )
{
linkUp.Enabled = false;
linkUp.ImageUrl = "images/up0.png";
}
if (e.Item.ItemIndex == datacount - )
{
linkDown.Enabled = false;
linkDown.ImageUrl = "images/down0.png";
}
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbDel_Click(object sender, EventArgs e)
{
int cid = MyCLib.StrClass.ConvertToInt(((LinkButton)sender).CommandArgument, );
//删除代码就不写了 }
//上移
protected void lbUp_Click(object sender, EventArgs e)
{
ImageButton button = (ImageButton)sender;
HiddenField hf = (HiddenField)button.NamingContainer.FindControl("zindex");
ImageButton linkOther = (ImageButton)ReptType.Items[int.Parse(hf.Value)-].FindControl("linkUp"); //先修改自己,然后修改上一个
StringBuilder sb = new StringBuilder();
sb.Append("update dt_lmright set xu=" + linkOther.CommandName + " where ID=" + button.CommandArgument + ";");
sb.Append("update dt_lmright set xu=" + button.CommandName + " where ID=" + linkOther.CommandArgument + ";");
if (Maticsoft.DBUtility.DbHelperSQL.ExecuteSql(sb.ToString()) > )
{
ReptDT();
}
}
//下移
protected void lbDown_Click(object sender, EventArgs e)
{
ImageButton button = (ImageButton)sender;
HiddenField hf = (HiddenField)button.NamingContainer.FindControl("zindex");
ImageButton linkOther = (ImageButton)ReptType.Items[int.Parse(hf.Value) + ].FindControl("linkDown"); //先修改自己,然后修改下一个
StringBuilder sb = new StringBuilder();
sb.Append("update dt_lmright set xu=" + linkOther.CommandName + " where ID=" + button.CommandArgument + ";");
sb.Append("update dt_lmright set xu=" + button.CommandName + " where ID=" + linkOther.CommandArgument + ";");
if (Maticsoft.DBUtility.DbHelperSQL.ExecuteSql(sb.ToString()) > )
{
ReptDT();
}
} }

原理:找到相邻行,然后获取ID和排序,然后同时修改就行了

Repeater上下排序按钮的更多相关文章

  1. Repeater 双向排序

      做项目的时候,DataGrid ,DataList,Repeater 三个控件都是很优秀的数据显示控件,DataGrid的方便,简单易用,功能强大,但对性能会有所影响,在loading页面的时候大 ...

  2. layui表格点击排序按钮后,表格绑定事件失效解决方法

    最近项目使用layui较为频繁,遇到了一个麻烦的问题,网上搜索也没有看到同类型的问题,故此记下来. 需求是点击上图右侧表格中某一个单元格,会触发点击事件如下代码: $("table>t ...

  3. 隐藏 FastAdmin 列表中的拖动排序按钮

    隐藏 FastAdmin 列表中的拖动排序按钮 就是以下这个按钮,想先删除不要. 刚开始在 CMS 插件中的栏目中发现没有,以为在哪个位置中,但找到半天的 weigh 都没有找到weigh 的字眼. ...

  4. C# asp.net repeater实现排序功能,自动排序,点击头部排序,点击列排序

    在网上看到好多关于repeater排序的,自己动手用了,发现一些问题,贴源码后把发现的问题以及解决方法给出 repeater实现排序功能(单击升序排列,再单击降序排列).原理很简单,在<TD&g ...

  5. Repeater中添加按钮,点击按钮获取某一行的数据

    1.添加编辑按钮和删除按钮 <asp:Repeater ID="Repeater1" runat="server" onitemcommand=" ...

  6. Repeater中服务器按钮

    protected void Button1_Click(object sender, EventArgs e)        {            Button btn = sender as ...

  7. easyUi 表头排序按钮 bug

    参考文章:https://www.shiqidu.com/p/81

  8. iOS可视化动态绘制八种排序过程

    前面几篇博客都是关于排序的,在之前陆陆续续发布的博客中,我们先后介绍了冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序.俗话说的好,做事儿要善始善终,本篇博客就算是对之前那几篇博客 ...

  9. 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView

    最近项目View层越来越趋向于无刷新化,特别是数据展示方面,还要对Linq有很好的支持.在WebFrom模式的开发中,GridView是一个功能很强大,很常用的控件,但是他也不是完美的,没有自带的无刷 ...

随机推荐

  1. Baidu和Google搜索引擎使用技巧(转)

    转自:Baidu和Google搜索 http://www.douban.com/note/261208979/ 百度搜索一:基本搜索   二:高级搜索   谷歌搜索一:基本搜索1)可部分匹配也可完全匹 ...

  2. 在 eclipse 中设置每行的字数

    在Preferences中:Java Code Style Formatter

  3. 搭建jenkins环境(linux操作系统)

    一.虚拟机安装 1)  Virtualbox安装 2)  新建镜像(将已有镜像导入) 3)   开通本地远程访问虚拟机的权限 3.1 通过本地的mac地址设置本地连接固定的ip地址.子网掩码.默认网关 ...

  4. three.js 简介

    What is Three.js? Let's try to describe it briefly: Three.js is a library that makes WebGL - 3D in t ...

  5. POJ1019——Number Sequence(大数处理)

    Number Sequence DescriptionA single positive integer i is given. Write a program to find the digit l ...

  6. Android 怎样把光标放在EditText中文本的末尾处?

    EditText et = (EditText)findViewById(R.id.inbox); et.setSelection(et.getText().length());

  7. [转]C:int型指针

    开源中国:http://my.oschina.net/lotte1699/blog/142538 网页快照:http://www.piaocafe.com/295977937/139381567037 ...

  8. OpenGL基础渲染

    客户端-服务器 客户端是存储在CPU存储器中的,并且在应用程序中执行(或者驱动程序),驱动程序将渲染命令和数据组合起来,发动到服务器执行.服务器和客户机在功能上是异步的,他们是各自独立的软件模块或者硬 ...

  9. hbase 学习笔记二----shell

          Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库 ...

  10. NDK(4)"Unresolved inclusion jni.h”的解决方法

    参考 :  http://blog.csdn.net/zhubin215130/article/details/39347873 3种解决办法: 一,重新初始化eclipse对该project的nat ...