Repeater嵌套Repeater及Repeater嵌套table,单击行查看详细信息,适用于DataLsit
来源:互联网 发布:足球 知乎 编辑:程序博客网 时间:2024/06/07 10:29
最近做一个物流小模块,里面汇总了每个工厂的所有数据,在点击工厂显示下面所有数据。我通过Repeater嵌套Repeater来实现及Repeater嵌套table。同样也适用于DataLsit。
用了两种方法来实现。
1:直接点击父Repeater行在ItemDataBound里面页面加载时全部加载出来。
2:用jquery post请求数据,并用apped输出 详细信息
没点击效果图前:
点击查看详细信息图:
1:直接点击父Repeater行在ItemDataBound里面页面加载时全部加载出来。
html 代码:
<asp:Repeater ID="rpStockManager" runat="server"><ItemTemplate><tr title="双击查看详细信息" style="background-color: <%#(Container.ItemIndex%2==0)?"#FFF8DC":"#E0FFFF"%>; cursor: pointer"ondblclick="ShowDetail('trShow_<%#Container.ItemIndex+1%>','<%#Eval("LocationID") %>_<%#Eval("Lotatt09")%>_<%#Eval("LotAtt04") %>');">//绑定父RP信息</td> </tr><tr style="display: none" id='trShow_<%#Container.ItemIndex+1%>'><td colspan="9" class="leftstyle">
//放Repeater </td>
</tr></ItemTemplate></asp:Repeater>
JS代码:
function ShowDetail(id){var obj_div = document.getElementById(id);var arg =new Array();arg=obj_div.id.replace(",<br/>", "").split('_');if (obj_div.style.display.toString() == 'none'){// FF里面设置为bolck都会合并在一个td里面。因此去掉blockobj_div.style.display = "";}else {obj_div.style.display = "none";}}
C#代码:
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){Repeater rep = e.Item.FindControl("rpFluxStockDetail") as Repeater;DataRowView rowv = (DataRowView)e.Item.DataItem;List<FluxStock> stockDetails = (from a in db.INV_LOT_LOC_ID join b in db.BAS_SKU oselect new FluxStock{b.Name,后面就不写了}}).ToList<FluxStock>();rep.DataSource = stockDetails;rep.DataBind();}
2:用jquery post请求数据,并用apped输出 详细信息
html 代码:
<asp:Repeater ID="rpStockManager" runat="server"><ItemTemplate><tr title="双击查看详细信息" style="background-color: <%#(Container.ItemIndex%2==0)?"#FFF8DC":"#E0FFFF"%>; cursor: pointer"ondblclick="ShowDetail('trShow_<%#Container.ItemIndex+1%>','<%#Eval("LocationID") %>_<%#Eval("Lotatt09")%>_<%#Eval("LotAtt04") %>');">//绑定父RP信息</td> </tr><tr style="display: none" id='trShow_<%#Container.ItemIndex+1%>'><td colspan="9" class="leftstyle">
//放table</td>
</tr></ItemTemplate></asp:Repeater>
JS代码:
<script src="js/jquery-1.9.1.js"></script>//记录第一次点击的ID以便点击其他id关闭上次点击的var saveClick="";//双击查看详细库存信息function ShowDetail(id,value){if(saveClick!=""){if(saveClick.id==id) //上次ID与本次ID相同则关闭{saveClick.style.display = 'none'; saveClick="";return;}else //不相同的时候第二次单击也关闭详细信息{saveClick.style.display = 'none';saveClick="";}}var obj_div = document.getElementById(id);//清空上次详细信息 $(".tbDetails").empty();$.ajax({type: "POST",//Post请求数据contentType:"application/json",url: "WebForm4.aspx/EditGroup",data: "{LocationID:'"+value.split('_')[0]+"',LotAtt09:'"+value.split('_')[1]+"',LotAtt04:'"+value.split('_')[2]+"'}",dataType: "json",success: function (data){var detailsNo = 0;var strDeatils="";var listHtml=''; //返回List数据进行循环解析for(var i=0;i<data.d.length;i++){detailsNo++;listHtml='';listHtml += " <input type='checkbox'"; listHtml += " name=chkSon_"+data.d[i].LocationID; listHtml += " id=chkSon_"+data.d[i].LotNum+"/>"; strDeatils += "<tr style='background-color:" + (detailsNo % 2 == 0 ? "#E7E7FF" : "#FFF") + ";cursor: pointer'>";strDeatils+="<td class='leftstyle ' style='width:26px;' >"+listHtml+"</td>";strDeatils+="<td >" + detailsNo + "</td>";strDeatils+="<td >" + data.d[i].CustomerID + "</td>";strDeatils+="<td >" + data.d[i].SKU + "</td>";strDeatils+="<td >" + data.d[i].Descr_C + "</td>";strDeatils+="<td >" + data.d[i].Descr_E + "</td>";strDeatils+="<td >" + data.d[i].LotNum + "</td>";strDeatils+="<td >" + data.d[i].LocationID + "</td>";strDeatils+="<td >" + data.d[i].TraceID + "</td>";strDeatils+="<td >" + data.d[i].LPN + "</td>";strDeatils+="<td >件</td>";strDeatils+="<td >" + data.d[i].Qty + "</td>";strDeatils+="<td >" + data.d[i].QtyAllocated + "</td>";strDeatils+="<td >" + data.d[i].QtyOnHold + "</td>";strDeatils+="<td >" + data.d[i].Qty + "</td>";strDeatils+="<td >" + data.d[i].Cubic + "</td>";strDeatils+="<td >" + data.d[i].GrossWeight + "</td>";strDeatils+="<td >" + data.d[i].NetWeight + "</td>";strDeatils+="<td >" + data.d[i].Price + "</td>";strDeatils+="<td >" + data.d[i].LotAtt06 + "</td>";strDeatils+="<td >" + data.d[i].Alternate_SKU3 + "</td>";strDeatils+="<td >" + data.d[i].LotAtt03 + "</td>";strDeatils+="<td >" + data.d[i].LotAtt04 + "</td>";strDeatils+="<td >" + data.d[i].LotAtt05 + "</td>";strDeatils+="<td >" + data.d[i].LotAtt09 + "</td>";strDeatils+="<td style='text-align:left' >" + data.d[i].LotAtt10 + "</td>";strDeatils+="<td >" + data.d[i].LotAtt11 + "</td>";strDeatils += "</tr>";}$(".tbDetails").append(strDeatils);$("#"+id).show();//记录上次点击的id以便隐藏saveClick=obj_div; }});}
C#代码:
[WebMethod]public static List<FluxStock> EditGroup(string LocationID, string LotAtt09, string LotAtt04){List<FluxStock> stockDetails = new List<FluxStock>();var pinfan = LotAtt04.Replace("<br/>", "").Split(',').Where(p => !string.IsNullOrEmpty(p)).ToList();if (pinfan.Count >= 2){for (int i = 0; i < pinfan.Count; i++){stockDetails.AddRange(StockDetails(LocationID, LotAtt09, pinfan[i].ToString()));}}else{stockDetails.AddRange(StockDetails(LocationID, LotAtt09,LotAtt04.Replace(",<br/>", "")));}return stockDetails;}public static List<FluxStock> StockDetails(string locationID, string LotAtt09, string LotAtt04) { List<FluxStock> stockDetails = (from a in db.INV_LOT_LOC_ID join b in db.BAS_SKU o where //条件select new FluxStock{b.Name,后面就不写了}return stockDetails;}
- Repeater嵌套Repeater及Repeater嵌套table,单击行查看详细信息,适用于DataLsit
- Repeater嵌套Repeater
- Repeater嵌套绑定Repeater
- repeater中嵌套repeater
- Repeater嵌套Repeater
- Repeater嵌套Repeater
- repeater嵌套repeater
- Repeater嵌套绑定Repeater
- Repeater嵌套绑定Repeater
- Repeater嵌套绑定Repeater
- Repeater嵌套绑定Repeater
- Repeater嵌套Repeater
- Repeater嵌套绑定Repeater
- Repeater嵌套绑定Repeater
- Repeater嵌套绑定Repeater
- Repeater嵌套
- 嵌套repeater
- repeater嵌套
- System logs in /var/log/
- linux 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决
- 分享一下我的xcode主题
- 蓝牙技术详解
- 以太网协议------802.1q,802.1d,802.1x
- Repeater嵌套Repeater及Repeater嵌套table,单击行查看详细信息,适用于DataLsit
- Reading notes of OS Security
- Delphi代码页和设计页的作用问题。
- 设置双核浏览器的浏览模式
- 关于mongodb索引优化的实现与思考
- DWR中获取Session,Request,Response等信息
- 堆排序 java
- 中断线程
- mysql联结操作符