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数据,我们怎么能够对比同一区域不同时间的数据情况,采用 ...
随机推荐
- HUD Text 学习
使用版本 NGUI_HUD_Text_v1.11 .英语水平差,难免有很多不足之处,忘批评指正.本文为鬼脸苹果原创 HUD Text 的其中一个用途是,涉及到非战斗场景时,你能通过在角色头顶显示文本行 ...
- 【精】iOS6 及其以上版本号自己主动旋转、手动强制旋转方案及布局适配
1.布局适配方式 本文不讨论哪种布局适配方式最好.此处使用的是 Masonry 纯代码布局适配. (Masonry 底层就是 AutoLayout 的 NSLayoutConstraint) 2.iO ...
- ASPX导入JS,JavaScript乱码怎么办
不管你把JS改成UTF-8还是ASCII格式,弹出都是乱码. 你只要在ASPX文件顶部加上"ResponseEncoding="gb2312" ContentType=& ...
- 在第一段ionic示例的基础上增加底部导航
demo2.html <!DOCTYPE html> <html ng-app="app"> <head> <meta charset=& ...
- Visual studio中后期生成事件命令使用
在做项目是总要把发布后的一些dll拷贝的根网站的bin目录下,为了避免每次都需要手动拷贝可以在 项目的生成事件中写入bat命令,下面的命令只在项目使用的发布配置时执行拷贝, (在生成->配置管理 ...
- Sword框架解析——知识采集流程页面初始化
Sword框架解析——知识采集流程页面初始化 Sword框架解析知识采集流程页面初始化 问题解答流程采集新增页面初始化 1后台t_xt_gnzy表和BLH类 2BLH类的写法前台目录树代码 3登录系统 ...
- QtGui.QCalendarWidget
A QtGui.QCalendarWidget provides a monthly based calendar widget. It allows a user to select a date ...
- chrome 此网页正试图从未经验证的来源加载脚本
chrome 此网页正试图从未经验证的来源加载脚本 CreateTime--2018年5月25日08点02分 Author:Marydon 1.情景还原 以我的网站为例,https://www.c ...
- Python 3.x 连接 pymysql 数据库
首先,需要安装库: 使用 pycharm IDE,如PyCharm,可以使用 project python 安装第三方模块. [File] >> [settings] >> [ ...
- C#:将数据网格内的数据导出到Excel
public void ExportDataToExecel(DataGridView dataGridView1) { SaveFileDialog kk = new SaveFileDialog( ...