DataGrid显示主次关系(C#)

狂风中的少年 提交于 2020-03-06 08:40:33

//========HTML页面    
               <asp:datagrid id="dl_fenlei" Width="442px" HorizontalAlign="Left" Font-Size="Larger" BorderStyle="Solid"
       AllowSorting="True" BorderColor="White" ShowHeader="False" CellPadding="0" AutoGenerateColumns="False" BorderWidth="0px"
       runat="server">
                      <Columns>
                      <asp:TemplateColumn>
                        <ItemTemplate>
                          <table border="0" cellpadding="0" cellspacing="0" width="442">
                            <!-- fwtable fwsrc="????¨1??" fwbase="index_r4_c4.jpg" fwstyle="Dreamweaver" fwdocid = "71301705" fwnested="0" -->
                            <tr>
                              <td><img src="skin/spacer.gif" width="442" height="1" border="0" alt=""></td>
                              <td><img src="skin/spacer.gif" width="1" height="1" border="0" alt=""></td>
                            </tr>
                            <tr>
                              <td height="31" valign="middle" background="skin/index_r4_c4_r1_c1.jpg">&nbsp;&nbsp;>><%# DataBinder.Eval(Container.DataItem, "fenlei") %> <a href='morenews.aspx?fenlei=<%#DataBinder.Eval(Container.DataItem,"fenlei")%>'>更多新闻>></a>&nbsp;&nbsp;&nbsp;&nbsp;</td>
                              <td background="skin/spacer.gif"></td>
                            </tr>
                            <tr>
                              <td background="skin/index_r4_c4_r2_c1.jpg">
                                <asp:DataGrid id=DataGrid2 BorderWidth="0" runat="server" AutoGenerateColumns="False" DataSource='<%# DataBinder.Eval(Container.DataItem,"fenlei_Relation") %>' Width="100%" ShowHeader="False" DataKeyField="fenleiid" AllowCustomPaging="True" PageSize="5" AllowPaging="True">
                                  <PagerStyle Visible="False" Mode="NumericPages"></PagerStyle>
                                  <HeaderStyle Font-Bold="True" ForeColor="#CC0066" BackColor="#E4E4E4" Width="100%"></HeaderStyle>
                                  <Columns>
                                  <asp:BoundColumn Visible="False" DataField="fenleiid" ReadOnly="True"></asp:BoundColumn>
                                  <asp:TemplateColumn>
                                    <HeaderStyle Width="100%"></HeaderStyle>
                                    <ItemTemplate> <a href='ListView.aspx?newsid=<%#DataBinder.Eval(Container.DataItem,"id")%>' target=_blank> <%# DataBinder.Eval(Container.DataItem, "title") %> </a><font color="#ff0000">&nbsp;(已阅读<%#DataBinder.Eval(Container.DataItem,"counter")%>次)</font><font color="#c0c0c0"><%#DataBinder.Eval(Container.DataItem,"DateTime")%></font> </ItemTemplate>
                                  </asp:TemplateColumn>
                                  </Columns>
                                </asp:DataGrid>
                              </td>
                              <td><img src="skin/spacer.gif" width="1" height="3" border="0" alt=""></td>
                            </tr>
                          </table>
                        </ItemTemplate>
                      </asp:TemplateColumn>
                      </Columns>
                  </asp:datagrid>
//后台代码
private void Page_Load(object sender, System.EventArgs e)
  {
    // 在此处放置用户代码以初始化页面
   SqlConnection cn=new SqlConnection(ConfigurationSettings.AppSettings["SqlCnString"]);
   string cmdstr="select * from fenlei;select * from article order by datetime desc;select * from gonggao;select top 5 title,id,counter from article order by counter desc ";
   cn.Open();
   SqlDataAdapter da=new SqlDataAdapter(cmdstr,cn);
   //创建并填充DataSet对象
   DataSet ds=new DataSet();

   da.Fill(ds);
   //'设定表名字

   ds.Tables[0].TableName="fenlei";
   ds.Tables[1].TableName="article";
   ds.Tables[2].TableName="gonggao";
   ds.Tables[3].TableName="hot";
   //在基于fenleiid字段的两个表之间建立父子关系
   DataColumn Parent=ds.Tables["fenlei"].Columns["fenleiid"];
   DataColumn Child=ds.Tables["article"].Columns["fenleiid"];
   DataRelation fenlei_Relation=new DataRelation("fenlei_Relation", Parent, Child,false);
   //为DataSet添加关系
   ds.Relations.Add(fenlei_Relation);
   //把DataSet绑定到fenlei,gonggao表
   dl_fenlei.DataSource=ds.Tables["fenlei"].DefaultView;
   dl_fenlei.DataBind();
   gonggao.DataSource=ds.Tables["gonggao"].DefaultView;
   gonggao.DataBind();
   hot.DataSource=ds.Tables["hot"].DefaultView;
   hot.DataBind();
   cn.Close();
  }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!