Repeater DataTable 折叠动态加载
网上关于Repeater折叠一般都是直接绑定上去,然后设置样式隐藏显示,可是这样是不太合理的,应该是客户需要的时候,你才去加载出来.所以,自己研究了一段时间,总结出下面的实现方案
首先是控件部分
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<HeaderTemplate>
<tr class="category">
<td>
<div class="sortable">装车单编码</div>
</td>
<td>
<div class="sortable">装车部门</div>
</td>
<td>
<div class="sortable">装车员</div>
</td>
<td>
<div class="sortable">日期</div>
</td>
<td>
<div class="sortable">物流公司</div>
</td>
<td>
<div class="sortable">配送状态</div>
</td>
<td width="10%">操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class='<%#(Container.ItemIndex+1)%2==0?"trbg2":"trbg1"%>' onmouseover="this.className='trbgov'"
onmouseout="this.className='<%#(Container.ItemIndex+1)%2==0?"trbg2":"trbg1"%>'">
<td align='left'><%# Eval("FCode") %></td>
<td align='left'><%# Eval("FDepartmentName") %></td>
<td align='left'><%# Eval("FApplicationName") %></td>
<td align='left'><%# Eval("FDate","{0:yyyy-MM-dd}") %></td>
<td align='left'><%# Eval("FExpressName") %></td>
<td> <%#(int)Eval("FSendState") == ? "配送中" : (int)Eval("FSendState") == ? "已结单" : "未配送"%></td>
<td><a href='#' onclick='showsonlst(this,<%#Eval("PID")%>);'>查看详细</a>  
<font runat="server" id="edit"> <a id="" href='../Stock/CarOrdeFollowingInfo_Edit.aspx?id=<%#Eval("PID")%>'>编辑物流信息</a></font> </tr>
</ItemTemplate> </asp:Repeater>
然后可以看到 在 '查看详细' 的连接标签上面 我使用了一个js 他的作用是显示和删除 (记得引用jquery)
<script type="text/javascript">
function showsonlst(e, id) {
if ($(e).text() == "查看详细") {
var ps = id;
$.post("/Control/webControl.ashx", { Method: "ShowOrderFollowingDetail", Parems: ps }, function (data) {
if (data != "") {
$(e).parent().parent().after(data);
$(e).text("隐藏物流信息");
}
});
}
else {
$(e).text("查看详细");
var row = $("#detailrow_" + id);
row.remove();
}
} </script>
最后是后台请求代码
public string ShowOrderFollowingDetail(string id)
{
string tablehead = "<tr id='detailrow_"+id+"'><td colspan=7 ><table class='TableBlock' style='text-align: center; border: 2px #ACA899 solid; border-bottom: 1px #ACA899 solid' >"
+ "<tr class='itemHeadTr' style='background-color: #ECECEC'>"
+ "<td><strong>配送员</strong></td>"
+ "<td><strong>配送员电话</strong></td>"
+ "<td><strong>物流位置</strong></td>"
+ "<td><strong>日期</strong></td>"
+ "</tr>"; string html = "";
//获取表体
List<T_CarOrdeFollowing> dt = GetAllBySQL(" and KID =" + id).ToList();
//插入表体
for (int i = ; i < dt.Count + ; i++)
{
string htmlrow = "<tr id=row{index}>"
+ "<td>{FDriverName}</td>"
+ "<td>{FDriverPhone}</td>"
+ "<td>{FAddress}</td>"
+ "<td>{FDate}</td>"
+ "</tr>";
T_CarOrdeFollowing row = dt[i - ];
htmlrow = htmlrow.Replace("{index}", i.ToString());
htmlrow = htmlrow.Replace("{FDriverName}", row.FDriverName);
htmlrow = htmlrow.Replace("{FDriverPhone}", row.FDriverPhone);
htmlrow = htmlrow.Replace("{FAddress}", row.FAddress);
htmlrow = htmlrow.Replace("{FDate}", Convert.ToDateTime(row.FDate).ToString("yyyy-MM-dd"));
html += htmlrow;
}
string tablefoot = "</table></td></tr>";
return tablehead + html + tablefoot;
}
用了好一段时间才整理出来的,要转载的童鞋记得保留我的链接哦http://www.cnblogs.com/linyijia/p/3465818.html
Repeater DataTable 折叠动态加载的更多相关文章
- Ext JS 如何动态加载JavaScript创建窗体
JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS ...
- C#动态加载树菜单
在做权限系统的时候,需要有一个树形的菜单.下图就是一个树形菜单的样式 但问题是,我们可以实现写死的树形菜单.什么是写死的?就是在前台代码中写好要加载的树形菜单是什么样子的.但是我们权限系统的要求是动态 ...
- 铵钮提交事件PostBack之后,一些动态加载的物件丢失
今早起来,发现skype有网友留言,情况大约如下,不过Insus.NET还是先感谢网友的测试.http://www.cnblogs.com/insus/p/3193619.html 如果你有看此篇博 ...
- 关于C# DropDownList 动态加载数据笔记
今天在处理一个导游注册的页面,其中需要填写地址以及该地址下所有旅行社,地址区级以上都是用下拉列表实现,具体地址街道等手动填写.在填写区县之后,该区县下的所有旅行社也需要动态加载. 后台代码 DataT ...
- EasyUI datagrid动态加载json数据
最近做一个项目,要求是两张张表可能查找出10多种不同的结果集. 如果想只用一个表格就把全部的结果不同的显示出来那么就肯定不同使用固定的字段名字,要通过动态加载后台返回来的数据把它显示出来就必须动态加载 ...
- 【datagrid】动态加载列 2016-01-03 16:32 2013人阅读 评论(19) 收藏
之前我们的项目在前台显示只需要把数据从数据库读出来进行显示就可以,datagrid的表头字段都是写死的,把数据往表里一扔,就基本没什么事儿了,结果客户前几天要求,其中一个字段不能是死的,应该是有多少项 ...
- Asp.net 的DropDownList 控件动态加载
在做连接数据库表,在页面上用DropDownList 下拉框查询某条数据时,因为数据库里的数据,随时都有可能增加或减少,而下拉框关联的某个字段的值并不一定是固定的. 表信息: CREATE TABLE ...
- js动态加载css和js
之前写了一个工具类点此链接里面含有这段代码,感觉用处挺多,特意提出来 var loadUtil = { /* * 方法说明:[动态加载js文件css文件] * 使用方法:loadUtil.loadjs ...
- geotrellis使用(二十三)动态加载时间序列数据
目录 前言 实现方法 总结 一.前言 今天要介绍的绝对是华丽的干货.比如我们从互联网上下载到了一系列(每天或者月平均等)的MODIS数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...
随机推荐
- JavaScript中isPrototypeOf函数
转自:http://www.ijavascript.cn/shouce/javascript-isprototypeof-247.html JavaScript中 isPrototypeOf 函数方法 ...
- flowplayer视频播放插件[转]
最近项目中需要添加播放视频的功能,视频文件是flv格式的.在网上找了一些jQuery视频播放插件,还是觉得“flowplayer”要好一些.特将使用方法记录一下. flowplayer也有html5版 ...
- 查找文本工具grep
许多时候需要从一大堆的命令输出或文本内容中找出一两行关键的内容,例如从系统用户文件中查找某个用户.如果不借助工具,这将是一项非常繁琐的工作,这时可以使用grep工具对内容进行筛选. grep(glob ...
- TP框架中ajax post请求时提示404
ajax post请求时提示404错误 TP框架中ajax post请求时提示404 找了半天是 控制器中方法有错误! 下次再遇到去控制器方法中找一步一步找,肯定能找到,我是单词拼错了!
- Python enumerate索引迭代
索引迭代Python中,迭代永远是取出元素本身,而非元素的索引.对于有序集合,元素确实是有索引的.有的时候,我们确实想在 for 循环中拿到索引,怎么办?方法是使用 enumerate() 函数:&g ...
- Java Tread多线程(1)实现Runnable接口
作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39347245 本文演示,Tread多线程实现Runnable接口,以及简单 ...
- (一)Hibernate初探之——单表映射
Hibernate充当持久化层 项目结构: 一.创建项目导入jar包. hibernate-core & junit4 & mysql-jdbc 二.src目录下 ...
- 【LeetCode】102. Binary Tree Level Order Traversal (2 solutions)
Binary Tree Level Order Traversal Given a binary tree, return the level order traversal of its nodes ...
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- struts2 的国际化
一.使用步骤 1)写资源文件,资源文件名命名规范和之前的讲的一致,有疑问请参考java开发中国际化 2)配置,在 struts.xml 中使用常量进行加载 struts.custom.i18n.res ...