Repeater上下排序按钮
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" />
<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>
<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上下排序按钮的更多相关文章
- Repeater 双向排序
做项目的时候,DataGrid ,DataList,Repeater 三个控件都是很优秀的数据显示控件,DataGrid的方便,简单易用,功能强大,但对性能会有所影响,在loading页面的时候大 ...
- layui表格点击排序按钮后,表格绑定事件失效解决方法
最近项目使用layui较为频繁,遇到了一个麻烦的问题,网上搜索也没有看到同类型的问题,故此记下来. 需求是点击上图右侧表格中某一个单元格,会触发点击事件如下代码: $("table>t ...
- 隐藏 FastAdmin 列表中的拖动排序按钮
隐藏 FastAdmin 列表中的拖动排序按钮 就是以下这个按钮,想先删除不要. 刚开始在 CMS 插件中的栏目中发现没有,以为在哪个位置中,但找到半天的 weigh 都没有找到weigh 的字眼. ...
- C# asp.net repeater实现排序功能,自动排序,点击头部排序,点击列排序
在网上看到好多关于repeater排序的,自己动手用了,发现一些问题,贴源码后把发现的问题以及解决方法给出 repeater实现排序功能(单击升序排列,再单击降序排列).原理很简单,在<TD&g ...
- Repeater中添加按钮,点击按钮获取某一行的数据
1.添加编辑按钮和删除按钮 <asp:Repeater ID="Repeater1" runat="server" onitemcommand=" ...
- Repeater中服务器按钮
protected void Button1_Click(object sender, EventArgs e) { Button btn = sender as ...
- easyUi 表头排序按钮 bug
参考文章:https://www.shiqidu.com/p/81
- iOS可视化动态绘制八种排序过程
前面几篇博客都是关于排序的,在之前陆陆续续发布的博客中,我们先后介绍了冒泡排序.选择排序.插入排序.希尔排序.堆排序.归并排序以及快速排序.俗话说的好,做事儿要善始善终,本篇博客就算是对之前那几篇博客 ...
- 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView
最近项目View层越来越趋向于无刷新化,特别是数据展示方面,还要对Linq有很好的支持.在WebFrom模式的开发中,GridView是一个功能很强大,很常用的控件,但是他也不是完美的,没有自带的无刷 ...
随机推荐
- linux shell的输出效果修改方法(界面颜色)
文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色, ...
- oracle impdp的table_exists_action详解
oracle impdp的table_exists_action详解 分类: [oracle]--[备份与恢复]2012-01-06 22:44 9105人阅读 评论(0) 收藏 举报 tableac ...
- LA 4727
Integers 1, 2, 3,..., n are placed on a circle in the increasing order as in the following figure. W ...
- swift函数和初始化控件(// MARK:分割线)
import UIKit , , , ) view.backgroundColor = UIColor.redColor() self.view.addSubview( ...
- Android Source Code
一. Android 框架 http://elinux.org/Master-android Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各 ...
- mysql之触发器
触发器 MySQL语句在需要时被执行,存储过程也是如此.但是,如果你想要某条语句(或某些语句)在事件发生时自动执行,怎么办呢?例如:每当增加一个顾客到某个数据库表时,都检查其电话号码格式是否正 ...
- Map中如何把没有定义操作符<的类作为key
Map中如何把没有定义操作符<的类作为key 其实,为了实现快速查找,map内部本身就是按序存储的(比如红黑树).在我们插入<key, value>键值对时,就会按照key的大小顺序 ...
- 【ArcEngine入门与提高】Element(元素)、Annotation(注记)旋转
因项目需要,需要做一个旋转注记的工具.因为注记这玩意用的比较少,网上资源也很少,所以做起来相当头疼.在经过一番研究之后,终于搞清楚注记的存储原理了,原来是和Element的类似,只不过注记是要把Ele ...
- iOS iPhone iPad 各种控件默认高度
iPhone iPad 各种控件默认高度 注意:这些是ios7之前的,ios7之后(包括ios7)有改动,我会在后面标注出来 iPhone和iPad下各种常见控件的宽度和标准是一样的,所以这里就用iP ...
- 297. Serialize and Deserialize Binary Tree
题目: Serialization is the process of converting a data structure or object into a sequence of bits so ...