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. spring mvc Controller与jquery Form表单提交代码demo

    1.JSP表单 <% String basePath = request.getScheme() + "://" + request.getServerName() +&qu ...

  2. Android内存泄漏问题(一)

    前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露. 其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用, ...

  3. poj 2311 Cutting Game 博弈论

    思路:求SG函数!! 代码如下: #include<iostream> #include<cstdio> #include<cmath> #include<c ...

  4. IDA 与VC 加载符号表

    将Windbg路径下的symsrv.yes 拷贝到ida 的安装目录,重新分析ntoskrnl.exe, 加载本地的符号表 添加环境变量  变量名:_NT_SYMBOL_PATH变量值:SRV*{$P ...

  5. 安装Genymotion android模拟器

    Genymotion优点: 速度快性能好,资源占用低,系统要求512MB内存就能运行 支持 OpenGL 3D加速,可以流畅玩大型3D游戏 支持同时启动多个模拟器,可以实现软件或游戏多开 支持多种虚拟 ...

  6. Task 使用 Task以及Task.Factory都是在.Net 4引用的。Task跟Thread很类似,通过下面例子可以看到。

    static public void ThreadMain() { Thread t1 = new Thread(TaskWorker); t1.Start(3); } static public v ...

  7. RadioButtonList js获取选择的项

    <asp:RadioButtonList ID="RadioButtonList1" runat="server"> <asp:ListIte ...

  8. Android Non-UI to UI Thread Communications(Part 1 of 5)

    original:http://www.intertech.com/Blog/android-non-ui-to-ui-thread-communications-part-1-of-5/ ANDRO ...

  9. Linux之proc详解

    1. /proc目录    Linux内核提供了一种通过/proc文件系统,在运行时访问内核内部数据结构.改变内核设置的机制.proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以 ...

  10. Java应用发布后,需要关注的7个性能指标

    在某个重大发布之后,都需要记录相应的指标,本文介绍了最重要的几个 Java 性能指标,包括响应时间和平均负载等.为理解应用程序在生产环境中如何运行,就需要遵循一些 Java 性能指标. 在以前,当软件 ...