我想实现的效果是;品牌 :型号  型号 型号 
品牌 :型号  型号 型号 
(品牌和型号的个数都是不定的)
我的前台代码是
<asp:GridView ID="ParentLink" runat="server" AutoGenerateColumns="False"  GridLines="None" ShowHeader="False" OnRowDataBound="ParentLink_RowDataBound">
            <Columns>
                <asp:BoundField DataField="ID" ShowHeader="False" Visible="False" />
                <asp:TemplateField> 
                <ItemTemplate>
                <%#Eval("Brand")%>
                    <asp:DataList ID="ChildDataList" runat="server" RepeatColumns="5" >
                    <ItemTemplate>
                     <a href="" target="_blank"><%#Eval("Type")%></a>
                    </ItemTemplate>
                    </asp:DataList>
                </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            
   </asp:GridView>CS 代码是;protected void Page_Load(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();
            ESMS.BLL.Brand brand = new ESMS.BLL.Brand();
           ds= brand.GetList("");
           this.ParentLink.DataSource = ds;
           this.ParentLink.DataKeyNames = new string[] { "ID" };
           this.ParentLink.DataBind();
        }
        protected void ParentLink_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
               
                    string id = "";
                    id = this.ParentLink.DataKeys[e.Row.RowIndex].Value.ToString();
                    int ID = Convert.ToInt16(id);
                    DataSet ds1 = new DataSet();
                    ESMS.BLL.Type type = new ESMS.BLL.Type();                    DataList dl = (DataList)e.Row.FindControl("ChildDataList");
                    ds1 = type.GetList(ID);
                    dl.DataSource = ds1;
                    dl.DataBind();               
            }
        }现在的效果是这样的:
品牌 :型号 
品牌 :型号
一个品牌下面一个型号?请高手指点