Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Em load kiểu sau :





    Mã:
      protected void getSec_Admin_Modules()
            {
                try
                {
                    DChonTheLoai.Items.Clear();
                    int index = 0;
                    dtb = cat.Select_ParentID(index);
                    DChonTheLoai.Items.Add(new ListItem("Chọn thể loại", "0"));
                    if (dtb.Rows.Count > 0)
                    {
                        ident += "++ ";
                        for (int i = 0; i < dtb.Rows.Count; i++)
                        {
                            DChonTheLoai.Items.Add(new ListItem(ident + dtb.Rows[i]["CateName"].ToString(), dtb.Rows[i]["CateID"].ToString()));
                            getChildSec_Admin_Modules(Convert.ToInt32(dtb.Rows[i]["CateID"].ToString()), "");
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
    
            protected void getChildSec_Admin_Modules(int _parent_id, string ident)
            {
                try
                {
                    dtb = cat.Select_ParentID(_parent_id);
                    if (dtb.Rows.Count > 0)
                    {
                        ident += " ----- ";
                        for (int i = 0; i < dtb.Rows.Count; i++)
                        {
                            DChonTheLoai.Items.Add(new ListItem(ident + dtb.Rows[i]["CateName"].ToString(), dtb.Rows[i]["CateID"].ToString()));
                            getChildSec_Admin_Modules(Convert.ToInt32(dtb.Rows[i]["CateID"].ToString()), ident);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
    Thì nó chỉ load ra 1 menu cha và 1 menu con


    Còn cách sau thì nó load đc menu nhưng khi selectvalue ở menu con thì nó chỉ nhận giá trị menu cha !

    Mã:
           public void DisplayDropDownList2()
            {
                dtb = sql.LAY_RA_BANG_SU_DUNG_CAU_LENH("select * from TB_Category");
                DChonTheLoai.Items.Clear();
                DChonTheLoai.Items.Add(new ListItem("---Chọn chuyên mục cha ---", "0"));
                if (dtb.Rows.Count > 0)
                {
                    DataRow[] root = dtb.Select("ParentID=0");
                    foreach (DataRow row in root)
                    {
                        DChonTheLoai.Items.Add(new ListItem("-" + row["CateName"].ToString(), row["CateID"].ToString()));
                        DataRow[] childRows = dtb.Select("ParentID = " + row["CateID"]);
                        if (childRows.Length > 0)
                        {
                            foreach (DataRow childRow in childRows)
                            {
                                DChonTheLoai.Items.Add(new ListItem("---- " + childRow["CateName"].ToString(), row["CateID"].ToString()));
                            }
                        }
                    }
                }
            }

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    1. Menu của bạn là bao nhiêu cấp? Nếu nó chỉ load ra 2 cấp, bạn muốn thêm thì bạn phải viết thêm vào bên trong nó.
    2. Bạn cho giá trị của nó là CateID, thằng cha cũng có CateID đó, thằng con cũng có CateID đó. Vậy thì nó lấy thằng nào?

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Em có một Table PhanQuyen (MaChucNang, TenChucNang, ParentID)
    Table trong CSDL như hình vẽ.
    Em muốn load menu lên sao cho đúng thứ tự menu.
    Ai có thuật toán đệ quy về phần này thì giúp em với!
    Cảm ơn mọi người.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •