关于控件香套的问题。 参考HOW TO:使用嵌套 Repeater 控件和 Visual C# .Net 显示分层数据
--------------------------
| --------------------- |
| | 手机 | |
| | 诺基严 摩托驴拉 | |
| | 联想 波导 | |
| ---------------------- |
--------------------------
| --------------------- |
| | 主板 | |
| | Inter ASUS | |
| | 微星 XXXXX | |
| ---------------------- |
--------------------------
| --------------------- |
| | 显卡 | |
| | 华硕 微星 | |
| | 联想 LG | |
| ---------------------- |
|-------------------------|
--------------------------
| --------------------- |
| | 彩电 | |
| | Lg 微星 | |
| | 联想 亲厦 | |
| ---------------------- |
|-------------------------|
希望大家能看得明白。
这个是关于主从表的控件香套问题。我这个与其它的不一样,因为像显卡,主板,手机和它下面的子项手机(诺基严 摩托驴拉 联想 波导),主板(Inter ASUS 微星 XXXXX) 同在一个表,我想从表中提取4个大类(显卡,主板,手机,其它)。然后根据这四大类,分别显示它的子类(显卡的子类--华硕,LG等,手机对应的子类--联想,诺基亚等)每个大类,提取4个小类。
下面是我的代码:
<asp:DataList ID="dlspShowBigSort" runat="server" >
<ItemTemplate>
<asp:LinkButton ID="lnkbtnBigSort" Text='<%# DataBinder.Eval(Container.DataItem,"SortName") %>' runat="server" />
<asp:Repeater ID="rptShowsmallSort" runat="server" >
<ItemTepalate>
//处处不知道怎么写了。
</ItemTepalate>
</asp:Repeater>
<%# DataBinder.Eval(Container.DataItem,"SortID") %>
</ItemTemplate>
</asp:DataList>
数据库示意图:
ID Name
1000 主板
1001 Inter
1002 ASUS
1003 微星
1004 XXXX
1005 YYYY
1006 AAAA
.
.
.
1100 ASLO
2000 手机
2001 联想
2002 波导
2003 MOTO
2004 诺基亚
.
.
.
2298 长虹
因为数据全是在一个表,大类随提取4个,对个大类对应的小类提取4个。参考了以下的,结果不行,因为他不是提取4个记录,也没有条件判断。
public void Page_Load(object sender, EventArgs e)
{
// 为Authors表创建 Connection 和 DataAdapter
string cnnString = @"server=(local)\NetSDK;database=pubs; Integrated Security=SSPI;";
SqlConnection cnn = new SqlConnection(cnnString);
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from authors",cnn);
//创建填充 DataSet.
DataSet ds = new DataSet();
cmd1.Fill(ds,"authors");
// 为Titles表创建 DataAdapter
SqlDataAdapter cmd2 = new SqlDataAdapter("select * from titleauthor",cnn);
cmd2.Fill(ds,"titles");
// 创建 Authors 表和 Titles 表之间的关系.
ds.Relations.Add("myrelation",
ds.Tables["authors"].Columns["au_id"],
ds.Tables["titles"].Columns["au_id"]);
// 绑定Authors到父Repeater
parentRepeater.DataSource = ds.Tables["authors"];
Page.DataBind();
cnn.Close();
cnn.Dispose();
}
请高手指教