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. Ambient Occlusion

    一般在光照模型中,ambient light的计算方法为:A = l * m,其中l表示表面接收到的来自光源的ambient light的总量,而m表示表面接收到ambient light后,反射和吸 ...

  2. Linux系统下利用wget命令把整站下载做镜像网站

    Linux系统下利用wget命令把整站下载做镜像网站 2011-05-28 18:13:01 | 1次阅读 | 评论:0 条 | itokit  在linux下完整的用wget命令整站采集网站做镜像 ...

  3. Cortex-M3/4的Hard Fault调试方法

    1 Cortex-M3/4的Fault简介 Cortex-M3/4的Fault异常是由于非法的存储器访问(比如访问0地址.写只读存储位置等)和非法的程序行为(比如除以0等)等造成的.常见的4种异常及产 ...

  4. 【动态规划】 之最长公共子序列LCS

    int lcs_len(char *a, char *b, int c[][N]){ int aLen=strlen(a), bLen=strlen(b), i,j; ; i<=aLen; i+ ...

  5. iOS视频录制裁剪合成

    网址链接: 视频裁剪合并:http://blog.sina.com.cn/s/blog_64ea868501018jx3.html 视频之定义裁剪高宽度:http://www.cocoachina.c ...

  6. Javascript Arguments,calle,caller,call,apply

    一.Arguments 该对象代表正在执行的函数和调用他的函数的参数. [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n ...

  7. BZOJ 3224: Tyvj 1728 普通平衡树 vector

    3224: Tyvj 1728 普通平衡树 Description 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除 ...

  8. 利用反射完成初级万能DAO

    一.目标 利用反射完成初级万能DAO 二.注意 1.Field[] fi = clazz.getDeclaredFields(); for(Field ff : fi){ ff.setAccessib ...

  9. Struts2笔记——第一个实例HelloWorld

    1.创建新的Dynamic Web项目   ------------------------------------------ 2.struts2框架配置   ------------------- ...

  10. SSM整合配置

    SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis) 使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有 ...