基于WEB的Grid控件控件显示父子表数据

本文介绍如何使用ASP.NET中的DataGrid控件实现主从表数据展示,通过具体实例展示了前台页面布局及后台数据绑定过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前台页面代码:
ExpandedBlockStart.gifContractedBlock.gif<%dot.gif@   Page   language="c#"   Codebehind="DataGridMasterFrom.aspx.cs"   AutoEventWireup="false"   Inherits="CommonFunction.DataGridMasterFrom"   %>   
None.gif  
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN"   >   
None.gif  
<HTML>   
None.gif  
<HEAD>   
None.gif  
<title>DataGridMasterFrom</title>   
None.gif  
<meta   name="GENERATOR"   Content="Microsoft   Visual   Studio   .NET   7.1">   
None.gif  
<meta   name="CODE_LANGUAGE"   Content="C#">   
None.gif  
<meta   name="vs_defaultClientScript"   content="JavaScript">   
None.gif  
<meta   name="vs_targetSchema"   content="http://schemas.microsoft.com/intellisense/ie5">   
None.gif  
</HEAD>   
None.gif  
<body   MS_POSITIONING="GridLayout">   
None.gif  
<form   id="Form1"   method="post"   runat="server">   
None.gif  
<h2>使用DataGrid控件实现以主细表显示数据</h2>   
None.gif  
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
None.gif                                        
<TR>
None.gif                                            
<TD bgColor="#f0f0f0" width="20%"><B>姓名</B>
None.gif                                            
</TD>
None.gif                                            
<TD bgColor="#f0f0f0" width="15%"><B>性别</B>
None.gif                                            
</TD>
None.gif                                            
<TD bgColor="#f0f0f0" width="25%"><B>职务</B>
None.gif                                            
</TD>
None.gif                                            
<TD bgColor="#f0f0f0" width="20%"><B>电话</B>
None.gif                                            
</TD>
None.gif                                            
<TD bgColor="#f0f0f0" width="10%"><B>编辑</B>
None.gif                                            
</TD>
None.gif                                            
<TD bgColor="#f0f0f0" width="10%"><B>删除</B>
None.gif                                            
</TD>
None.gif                                        
</TR>
None.gif                                    
</TABLE>
None.gif                                    
<asp:DataGrid id="dgMaster" runat="server" Width="100%" AutoGenerateColumns="False" ShowHeader="False"
None.gif                                        CssClass
="90V">
None.gif                                        
<AlternatingItemStyle HorizontalAlign="Center" BackColor="White"></AlternatingItemStyle>
None.gif                                        
<ItemStyle HorizontalAlign="Center" BackColor="#FFFFF6"></ItemStyle>
None.gif                                        
<HeaderStyle HorizontalAlign="Center" BackColor="#F0F0F0"></HeaderStyle>
None.gif                                        
<Columns>
None.gif                                            
<asp:TemplateColumn>
None.gif                                                
<ItemTemplate>
None.gif                                                    
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="0">
None.gif                                                        
<TR>
None.gif                                                            
<TD bgColor="#F0F0F0" width="20%">
ExpandedBlockStart.gifContractedBlock.gif                                                                
<%dot.gif#   DataBinder.Eval(Container.DataItem,   "name")   %>
None.gif                                                            
</TD>
None.gif                                                            
<TD bgColor="#F0F0F0" width="15%">
ExpandedBlockStart.gifContractedBlock.gif                                                                
<%dot.gif#   DataBinder.Eval(Container.DataItem,   "sex")   %>
None.gif                                                            
</TD>
None.gif                                                            
<TD bgColor="#F0F0F0" width="25%">
ExpandedBlockStart.gifContractedBlock.gif                                                                
<%dot.gif#   DataBinder.Eval(Container.DataItem,   "duty")   %>
None.gif                                                            
</TD>
None.gif                                                            
<TD bgColor="#F0F0F0" width="20%">
ExpandedBlockStart.gifContractedBlock.gif                                                                
<%dot.gif#   DataBinder.Eval(Container.DataItem,   "tel")   %>
None.gif                                                            
</TD>
None.gif                                                            
<TD bgColor="#F0F0F0" width="10%">
None.gif                                                                
<asp:HyperLink ID="Hyperlink1" Runat=server NavigateUrl='<%# "javascript:edit(\"" + DataBinder.Eval(Container.DataItem, "SubTSUid") + "\")" %>' ImageUrl="image/edit.gif" text="编辑">
None.gif                                                                
</asp:HyperLink>
None.gif                                                            
</TD>
None.gif                                                            
<TD bgColor="#F0F0F0" width="10%">
None.gif                                                                
<asp:ImageButton ID="Imagebutton1" ImageUrl="image/delete.gif" Runat="server" CommandName="Delete" AlternateText='<%# DataBinder.Eval(Container.DataItem, "SubTSUid")%>'>
None.gif                                                                
</asp:ImageButton>
None.gif                                                            
</TD>
None.gif                                                        
</TR>
None.gif                                                        
<TR>
None.gif                                                            
<TD align="center" colSpan="6">
None.gif                                                                
<asp:DataGrid id=dgDetail runat="server" ShowHeader=False Width="100%" AutoGenerateColumns="False" BackColor="White" BorderWidth="0px" BorderColor="#336666" Font-Size="Smaller" DataKeyField="SubTSUid" GridLines="Horizontal" CellPadding="4" DataSource='<%#   ((System.Data.DataRowView)Container.DataItem).CreateChildView("tableRelation")   %>'>
None.gif                                                                    
<AlternatingItemStyle HorizontalAlign="Center" BackColor="White"></AlternatingItemStyle>
None.gif                                                                    
<ItemStyle HorizontalAlign="Center" BackColor="#FFFFF6"></ItemStyle>
None.gif                                                                    
<HeaderStyle HorizontalAlign="Center" BackColor="#F0F0F0"></HeaderStyle>
None.gif                                                                    
<Columns>
None.gif                                                                        
<asp:BoundColumn Visible="False" DataField="subcid" ReadOnly="True"></asp:BoundColumn>
None.gif                                                                        
<asp:TemplateColumn>
None.gif                                                                            
<HeaderStyle Width="250px"></HeaderStyle>
None.gif                                                                            
<ItemTemplate>
ExpandedBlockStart.gifContractedBlock.gif                                                                                
<%dot.gif#   DataBinder.Eval(Container.DataItem,   "subcname")   %>
None.gif                                                                            
</ItemTemplate>
None.gif                                                                        
</asp:TemplateColumn>
None.gif                                                                    
</Columns>
None.gif                                                                    
<PagerStyle HorizontalAlign="Center" ForeColor="White" BackColor="#336666" Mode="NumericPages"></PagerStyle>
None.gif                                                                
</asp:DataGrid>
None.gif                                                            
</TD>
None.gif                                                        
</TR>
None.gif                                                    
</TABLE>
None.gif                                                
</ItemTemplate>
None.gif                                            
</asp:TemplateColumn>
None.gif                                        
</Columns>
None.gif                                    
</asp:DataGrid>  
None.gif  
</form>   
None.gif  
</body>   
None.gif  
</HTML>   
None.gif

后台代码(Page_Load中调用的方法):
None.gifprivate void load()
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            
string strSQL = "select * from TrainingSignUpDetail where TSUid=" + Request.QueryString["TSUid"]
InBlock.gif                
+ " select a.SubTSUid,b.subcid,b.subcname from SignUpRelation  a,TrainingSignUpSubClass b where a.subcid=b.subcid";
InBlock.gif
InBlock.gif            SqlConnection conn 
= new SqlConnection(pubValue.GetPubConnString());   
InBlock.gif            
//创建数据适配器对象   
InBlock.gif
            SqlDataAdapter da = new SqlDataAdapter(strSQL,conn);   
InBlock.gif            
//创建DataSet对象   
InBlock.gif
            DataSet ds = new DataSet();   
InBlock.gif            
InBlock.gif            
try   
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{   
InBlock.gif                
//填充数据集   
InBlock.gif
                da.Fill(ds);   
InBlock.gif                
//设定表名字   
InBlock.gif
                ds.Tables[0].TableName   =   "person";   
InBlock.gif                ds.Tables[
1].TableName   =   "class";   
InBlock.gif                DataColumn   Parent   
=   ds.Tables["person"].Columns["subtsuid"];   
InBlock.gif                DataColumn   Child     
=   ds.Tables["class"].Columns["subtsuid"];   
InBlock.gif                DataRelation   tableRelation   
=   new   DataRelation("tableRelation",   Parent,   Child,   false);   
InBlock.gif                ds.Relations.Add(tableRelation);   
InBlock.gif                
//进行数据绑定 
InBlock.gif
                this.dgMaster.DataSource   =   ds.Tables["person"].DefaultView;   
InBlock.gif                
this.dgMaster.DataBind();   
ExpandedSubBlockEnd.gif            }
   
InBlock.gif            
catch(Exception   error)   
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{   
InBlock.gif                Response.Write(error.ToString());   
ExpandedSubBlockEnd.gif            }
   
ExpandedBlockEnd.gif        }
     

转载于:https://www.cnblogs.com/wlq2000/archive/2007/05/08/738695.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值