日期:2014-05-17  浏览次数:20442 次

请教这个问题该怎么解决,谢谢了~
有一个数据表table1的数据结构如下:

classID Name Age
  1 张三 19
  1 李四 20
  1 王五 18
  2 Lisa 23
  2 赵六 32
  3 Vis 25

请教如果在 DataGrid 控件中要如下显示,该怎么实现呢?谢谢了!

classID Name Age
  1
  张三 19
  李四 20
  王五 18
  2 Lisa 23
  赵六 32
  3 Vis 25
 

------解决方案--------------------
第二个Repeater少了FooterTemplate了,不好意思,补上

C# code

<asp:Repeater ID="rpt" runat="server" OnItemDataBound="rpt_ItemDataBound">
       <HeaderTemplate>
                <table>
       </HeaderTemplate>
       <ItemTemplate>
                     <tr>
                           <td>
                                     班级编号:<%#Eval("classID ")%>
                           </td>
                     </tr>
                     <tr>
                            <td>
                                    <asp:Repeater ID="rpt2" runat="server">
                                                   <HeaderTemplate>
                                                                <table>
                                                    </HeaderTemplate>
                                                    <ItemTemplate>
                                                                  <tr>
                                                                           <td>
                                                                                   <%#Eval("Name")%>
                                                                            </td>
                                                                           <td>
                                                                                    <%#Eval("Age")%>
                                                                           </td>
                                                                  </tr>
                                                    </ItemTemplate>
                                                    <FooterTemplate>
                                                          </table>
                                                    </FooterTemplate>
                                    </asp:Repeater>
                            </td>
                     </tr>
       </ItemTemplate>
       <FooterTemplate>
               </table>
      </FooterTemplate>
</asp:Repeater>

public void Page_Load(object sender,EventArgs e)
{
         if(!IsPostBack)
         {
                using(SqlConnection con = new SqlConnection("Data Source=.;uid=sa;pwd=sa;Database=NorthWind"))
                {
                         string strSQL  = "select  classID  from table1 group by classID"; //按组获取各个班级编号
                          SqlDataAdapter da= new SqlDataAdapter(strSQL,con);
                          DataSet ds = new DataSet();
                          da.Fill(ds);
                          this.rpt.DataSource = ds;
                          this.rpt.DataBind();
                }
         }
}

protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Repeater rpt = (Repeater)e.Item.FindControl("rpt2");
            //找到分类Repeater关联的数据项
            DataRowView drv = (DataRowView)e.Item.DataItem;
            //提取班级ID
            int