首页 新闻 会员 周边 捐助

asp.net页面有二级从表的布局方案

0
悬赏园豆:20 [已解决问题] 解决于 2009-12-09 20:28

一个主表,一个从表,从表又是另外一个表的主表,这样的结构,在asp.net 页面里面一般是怎么布局会比较好些,感觉都不好做,因为要涉及到主从表数据的添加修改,网上的都只是主从关系的例子。有做过的朋友给点意见吧。

清海扬波的主页 清海扬波 | 小虾三级 | 园豆:825
提问于:2009-12-02 10:08
< >
分享
最佳答案
0

用gridview 可以解决的如下,是当时要做的一个权限控制的,你只需要了解一下gridview的edit模式如何实现就可以了

 

<asp:GridView ID="MasterGridView" runat="server" AutoGenerateColumns="false" Width="100%"
BorderWidth="1" DataKeyNames="MenuID" ShowHeader="false" OnRowDataBound="MasterGridView_RowDataBound" PageSize="3" AllowPaging="true" OnPageIndexChanging="MasterGridView_PageIndexChanging" >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div style="width: 100%; padding: 2px; font-weight: bold; background-color: #34333;
float: left">
<span style="float: left" class="GdvCaption">页面名称:<%#Eval("MenuDes")%></span> <span style="float: right;
color:White; cursor: pointer" onclick="ShowHidden('<%#Eval("MenuID") %>',event)">
细节</span></div>
<div style="background-color: #FFF; padding-left: 20px; clear: both" id="div<%#Eval("MenuID") %>">
<asp:GridView ID="DetailGridView" runat="server" AutoGenerateColumns="false" ShowHeader="false"
HorizontalAlign="left" DataKeyNames="MenuID" Width="100%" OnRowCreated ="grdDetail_RowCreated">
<HeaderStyle BackColor="#AFE47B" />
<Columns>
<asp:TemplateField>
<ItemStyle Width="50px"/>
<ItemTemplate>
<%-- <asp:CheckBox ID="DetailSelect" runat="server" />--%>
<asp:CheckBox ID="DetailSelect" runat="server" ValidationGroup='<%#DataBinder.Eval(Container.DataItem, "MenuIDFunction").ToString() %>' OnCheckedChanged="Check_Clicked" AutoPostBack="true" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="功能名称" DataField="FunctionName"/>
<asp:BoundField HeaderText="功能描述" DataField="FunctionDes" ControlStyle-CssClass="Caption"/>

</Columns>
</asp:GridView>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

<script type="text/javascript">

function ShowHidden(MenuID,ev)
{
ev = ev || window.event;
var target = ev.target || ev.srcElement;
var oDiv = document.getElementById("div" + MenuID);
oDiv.style.display = oDiv.style.display == "none"?"block":"none";
target.innerHTML = oDiv.style.display == "none"?"细节":"页面";
}

</script>

收获园豆:20
LifeLight | 菜鸟二级 |园豆:391 | 2009-12-03 09:20
其他回答(3)
0

主从关系的gridview repeater布局都行

也可以是联动关系的表格布局

persialee | 园豆:3217 (老鸟四级) | 2009-12-02 11:09
0

參考,主

<html>

<head>
 
<title>test</title>
<style>
.tab
{
border:1px solid red;
}
.tab td
{
 border:1px solid red;padding:10px;
}
.tab table
{
 border:0px solid red;
}
</style>
</head>

<body>
 

<table border="0" cellpadding=0 cellspacing=0 width="100%" class="tab">
 <tr>
  <td bgcolor="#808000">ITEM</td>
  <td bgcolor="#808000">NAME</td>
  <td bgcolor="#808000">Description</td>
 </tr>
 <tr>
  <td bgcolor="#00FFFF">1主表</td>
  <td bgcolor="#00FFFF">woody</td>
  <td bgcolor="#00FFFF">woody</td>
 </tr>
 <tr>
  <td colspan="3">
  從表
  <table border="1" width="100%" cellpadding=0  cellspacing=0>
   <tr>
    <td width="125" bgcolor="#C0C0C0">address</td>
    <td bgcolor="#C0C0C0">shanghai</td>
   </tr>
   <tr>
    <td width="125" bgcolor="#C0C0C0">e-mail</td>
    <td bgcolor="#C0C0C0">test@mail.com</td>
   </tr>
  </table>
  從表
  </td>
 </tr>
 <tr>
  <td bgcolor="#00FFFF">2</td>
  <td bgcolor="#00FFFF">woody1</td>
  <td bgcolor="#00FFFF">woody1</td>
 </tr>
 <tr>
  <td colspan="3">
   從表
  <table border="1" width="100%" cellpadding=0  cellspacing=0>
   <tr>
    <td width="125" bgcolor="#C0C0C0">address</td>
    <td bgcolor="#C0C0C0">shanghai</td>
   </tr>
   <tr>
    <td width="125" bgcolor="#C0C0C0">e-mail</td>
    <td bgcolor="#C0C0C0">test@mail.com</td>
   </tr>
  </table>
  從表
  </td>
 </tr>
</table>
 

</body>

</html>

woody.wu | 园豆:3621 (老鸟四级) | 2009-12-02 12:40
0

个人感觉用选项卡的那种表现模式能好一点吧

死神的背影 | 园豆:667 (小虾三级) | 2009-12-03 10:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册