DataList嵌套式導航

界面:
<asp:DataList ID="DL_Cate" runat="server" Width="100%" OnItemCommand="DL_Cate_ItemCommand">
                                                        <SelectedItemTemplate>
                                                            <asp:DataList ID="DL_SCate" runat="server" Width="100%" DataSource='<%#((System.Data.DataRowView)Container.DataItem).CreateChildView("SmallCateView") %>'>
                                                                <ItemTemplate>
                                                                    <asp:LinkButton ID="SCate" runat="server" Text='<%# Eval("SC_Name")%>' BackColor="#F1F0EE"
                                                                        PostBackUrl='<%# Eval("SC_ID","~/CateDetails.aspx?SID={0}") %>' Font-Size="Small"></asp:LinkButton>
                                                                </ItemTemplate>
                                                            </asp:DataList>
                                                        </SelectedItemTemplate>
                                                        <ItemTemplate>
                                                            <asp:LinkButton Font-Underline="false" ForeColor="#003399" ID="Cate" runat="server"
                                                                Text='<%# "*                      "+Eval("CateName")%>' CommandName="select"
                                                                CommandArgument='<%# Eval("CateID") %>' Font-Size="XX-Large" Font-Bold="true"></asp:LinkButton>
                                                        </ItemTemplate>
                                                    </asp:DataList>
界面代碼:
protected void DL_Cate_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "select")
        {
            this.DL_Cate.SelectedIndex = e.Item.ItemIndex;
            DL_Cate.DataSource = p_access.GetReView().Tables[0].DefaultView;
            DL_Cate.DataBind();
        }
    }
數據層:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
namespace DataAccess
{
    public class DataAccess
    {
//首頁left
        public DataSet GetReView()
        {
            string sql = "IndexCate";
            da = new SqlDataAdapter(sql, con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            //設置數據集中兩個表的名稱
            ds.Tables[0].TableName = "Cate";
            ds.Tables[1].TableName = "SmallCate";
            //父
            DataColumn a = ds.Tables["Cate"].Columns["CateID"];
            //子
            DataColumn b = ds.Tables["SmallCate"].Columns["CateID"];
            //創建關係對象
            DataRelation drt = new DataRelation("SmallCateView", a, b, false);
            //爲dataset中的關係集合添加關係對象
            ds.Relations.Add(drt);
            return ds;
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章