最近项目中为了使查看时视图更清晰明了,需要实现一个分组展示的功能,这里用Jquery做了一个,记录下来,以便下次使用,效果如图所示:
CSS代码:
.sapdiv{
width:16px;
height:17px;
background:url(../images/sap01_data_item_tab02.gif) ;
}
.sapdiv1{
width:16px;
height:17px;
background:url(../images/sap01_data_item_tab01.gif) ;
}
前台代码:
<asp:ListView ID="ListView1" runat="server" EnableModelValidation="True" OnItemDataBound="ListView1_ItemDataBound"
OnPreRender="ListView1_PreRender">
<EmptyDataTemplate>
<table width="100%" class="data_header">
<tr>
<td rowspan="2" class="t12s" width="60">
操作
</td>
<td rowspan="2" class="t12s" width="150">
项目名称
</td>
<td rowspan="2" class="t12s" width="180">
主要建设内容
</td>
<td rowspan="2" class="t12s" width="60">
建设性质
</td>
<td rowspan="2" class="t12s" width="60">
建设年限
</td>
<td rowspan="2" class="t12s" width="80">
申请资金
</td>
<td colspan="4" class="t12s" style="background-color: #C0C0C0">
<% =year.ToString() %>年投资建议计划
</td>
<td rowspan="2" class="t12s">
备注
</td>
</tr>
<tr>
<td width="60">
合计
</td>
<td width="60">
总部投资
</td>
<td width="60">
企业自筹
</td>
<td width="60">
其他
</td>
</tr>
</table>
<table width="100%" class="data_item">
<tr>
<td colspan="12">
没有数据!
</td>
</tr>
</table>
</EmptyDataTemplate>
<ItemTemplate>
<table class="data_item">
<tr>
<th style="width:40px;">
<div class="sapdiv1">
<a href="#"></a>
</div>
</th>
<th colspan="12" class="data_item_separ" style="width: 95%;">
<strong>企业名称:<asp:Label ID="lblOrgName" runat="server" Text='<%# Eval("OrganizationName") %>' />
(版本:<asp:Label ID="lblVersion" runat="server" Text='<%# Eval("PlanVersion") %>' />.0)<span style="color:Red;">【<asp:Label ID="Label1" runat="server" Text='<%# Eval("OrgNatureName") %>' />】</span>
<asp:HiddenField ID="hfOrgId" runat="server" Value='<%# Eval("OrganizationId") %>' />
</strong>
</th>
</tr>
</table>
<div class="data_table1" id="detail<%# Container.DataItemIndex %>">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowHeader="false"
DataKeyNames="ProjectPlanId" EmptyDataText="没有可显示的数据记录。" EnableModelValidation="True"
Width="100%" CssClass="data_item">
<Columns>
<asp:TemplateField ShowHeader="False" HeaderText="操作">
<ItemTemplate>
<asp:CheckBox ID="ckItem" runat="server" />
</ItemTemplate>
<ItemStyle Width="40" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="操作">
<ItemTemplate>
<asp:ImageButton ID="ImageButton3" runat="server" ImageUrl="~/Images/licon_005.gif" OnClientClick='<%# Eval("ProjectPlanId","return JumpViewProjectPlan(\"{0}\")") %>'
ToolTip="查看" CausesValidation="False" />
</ItemTemplate>
<ItemStyle Width="60" />
</asp:TemplateField>
<asp:BoundField DataField="ProjectPlanName" HeaderText="项目名称" ItemStyle-Width="150" />
<asp:TemplateField HeaderText="主要建设内容">
<ItemTemplate>
<div style="text-align: left">
<asp:Label ID="Label2" runat="server" Text='<%# ReWriteBuildString(Eval("ProjectPlanContent"),15) %>'
ToolTip='<%# Eval("ProjectPlanContent") %>'></asp:Label>
</div>
</ItemTemplate>
<ItemStyle Width="180" />
</asp:TemplateField>
<asp:TemplateField HeaderText="建设性质">
<ItemTemplate>
<asp:Label ID="LabelStatus" runat="server" Text='<%# GetBuildString(Eval("ProjectType")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="60" />
</asp:TemplateField>
<asp:BoundField DataField="ProjectPlanYearBuild" HeaderText="建设年限" ItemStyle-Width="60" />
<asp:TemplateField HeaderText="申请资金">
<ItemTemplate>
<asp:Label ID="LabelMoneyRequest" runat="server" Text='<%# FormatMoney(Eval("MoneyRequest")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="80" />
</asp:TemplateField>
<asp:TemplateField HeaderText="合计">
<ItemTemplate>
<asp:Label ID="LabelMoneySum" runat="server" Text='<%# FormatMoney(Eval("MoneySum")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="60" />
</asp:TemplateField>
<asp:TemplateField HeaderText="总部投资">
<ItemTemplate>
<asp:Label ID="LabelMoneyGroup" runat="server" Text='<%# FormatMoney(Eval("MoneyGroup")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="60" />
</asp:TemplateField>
<asp:TemplateField HeaderText="企业自筹">
<ItemTemplate>
<asp:Label ID="LabelMoneyCompany" runat="server" Text='<%# FormatMoney(Eval("MoneyCompany")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="60" />
</asp:TemplateField>
<asp:TemplateField HeaderText="其他">
<ItemTemplate>
<asp:Label ID="LabelMoneyOther" runat="server" Text='<%# FormatMoney(Eval("MoneyOther")) %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="60" />
</asp:TemplateField>
<asp:TemplateField HeaderText="备注">
<ItemTemplate>
<div style="text-align: left">
<asp:Label ID="Label3" runat="server" Text='<%# ReWriteBuildString(Eval("ProjectPlanRemark"),15) %>'
ToolTip='<%# Eval("ProjectPlanRemark") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</ItemTemplate>
<LayoutTemplate>
<table id="Table2" runat="server" style="width: 100%">
<tr id="Tr1" runat="server">
<td id="Td1" runat="server">
<table class="data_header" style="width: 100%" class="data_header">
<tr id="Tr2" runat="server">
<td id="Td15" runat="server" rowspan="2" class="t12s" width="40">
操作
</td>
<td id="Td2" runat="server" rowspan="2" class="t12s" width="60">
查看详细
</td>
<td id="Td3" runat="server" rowspan="2" class="t12s" width="150">
项目名称
</td>
<td id="Td4" runat="server" rowspan="2" class="t12s" width="180">
主要建设内容
</td>
<td id="Td5" runat="server" rowspan="2" class="t12s" width="60">
建设性质
</td>
<td id="Td7" runat="server" rowspan="2" class="t12s" width="60">
建设年限
</td>
<td id="Td8" runat="server" rowspan="2" class="t12s" width="80">
申请资金
</td>
<td id="Td11" runat="server" colspan="4" class="t12s" style="background-color: #C0C0C0">
<% =year.ToString() %>年投资建议计划
</td>
<td id="Td9" runat="server" rowspan="2" class="t12s">
备注
</td>
</tr>
<tr id="Tr3" runat="server" class="separator_bottom">
<td id="Td16" runat="server" width="60">
合计
</td>
<td id="Td17" runat="server" width="60">
总部投资
</td>
<td id="Td19" runat="server" width="60">
企业自筹
</td>
<td id="Td20" runat="server" width="60">
其他
</td>
</tr>
<tr id="itemPlaceholder" runat="server" class="data_item">
</tr>
</table>
</td>
</tr>
</table>
</LayoutTemplate>
</asp:ListView>
脚本部分:
<script type="text/javascript">
$(document).ready(function () {
$(".data_table1").hide();
$(".sapdiv1").click(function () {
$(".data_table1").hide();
$("div.sapdiv").each(function () {
$(this).removeClass();
$(this).addClass("sapdiv1");
});
$(this).removeClass();
$(this).addClass("sapdiv");
$(this).parent().parent().parent().parent().next().show();
//cookie.set("cookieName", $(this).attr("id"));
});
var current = null; //cookie.get("cookieName");
if (current) {
$(current).removeClass();
$(current).addClass("sapdiv");
$(current).parent().parent().parent().parent().next().show();
} else {
var items = $(".sapdiv1");
if (items.length > 0) {
$(items[0]).parent().parent().parent().parent().next().show();
$(items[0]).attr("class", "sapdiv");
}
}
});
</script>
该脚本还可以通过cookie保存选中的状态,这里没有实现,有兴趣的同学可以晚上一下,发布到留言里。