Announcement

Collapse
No announcement yet.

Node cha và Node con hiển thị không đúng trong TreeView

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [C#] Node cha và Node con hiển thị không đúng trong TreeView

    (:=(|)Mình đang làm đề tài về Web, đến phần Load dữ liệu vào Treeview

    LOAITHONGBAO(MALOAI, TENLOAI)
    THONGBAO(MATB, TENTB,MALOAI)

    Với 1 loại thông báo thì có nhiều các thông báo, nhưng cũng có loại không có thông báo nào
    Mục đích Treeview của mình sẽ hiển thị như sau: "loại TB"--> node cha, "thông báo"---> node con

    -Loại TB 1:
    +Thông báo 1
    +Thông báo 2
    -Loại TB 2:
    +Thông báo 1
    +Thông báo 2
    .....

    Vấn đề của mình là, với "loại TB" nào có "thông báo" thì hiển thị bình thường; nhưng đối với "loại TB" không có "thông báo" thì cái "loại TB" đó lại hiển thị như 1 node con.

    Đây là code của mình.
    Mình không biết sai sót chổ nào, mong các bạn giúp.
    Code:
     private void LoadTree()
        {
            TreeView1.Nodes.Clear();
            string sql = "select * from LOAI_THONG_BAO";      
            DataTable loaithongbao = l.EXECUTEQUERYSQL(sql);
            for (int i = 0; i < loaithongbao.Rows.Count; i++)
            {
                TreeNode TN = new TreeNode(loaithongbao.Rows[i][1].ToString(), loaithongbao.Rows[i][0].ToString());
                TN.Text =  loaithongbao.Rows[i][1].ToString() ;
                TreeView1.Nodes.Add(TN);
                string sql1 = "select * from THONG_BAO where MA_LOAI=" + loaithongbao.Rows[i][0].ToString();
                DataTable thongbao = l.EXECUTEQUERYSQL(sql1);
                for (int j = 0; j < thongbao.Rows.Count; j++)
                {
                    TreeNode CN = new TreeNode(thongbao.Rows[j][1].ToString(), thongbao.Rows[j][0].ToString());
                    CN.Text = thongbao.Rows[j][1].ToString();
                    TreeView1.Nodes[i].ChildNodes.Add(CN);
                }
            }
           
        }

  • #2
    thêm cái điều kiện thongbao.Rows.Count > 0 trước khi add thông báo không biết được không nhỉ bạn thử xem
    Lòng người là.. GIẤY
    .............................là GIẤY........chứ không phải là VÀNG, cớ sao nhiều người vẫn thích mang đi thử lửa !?!
    NK

    Comment


    • #3
      Có phải vấn đề của bạn là:
      + LTB1:
      |---- TB1
      |---- TB2
      - LTB2

      Trong khi bạn muốn hiển thị:
      + LTB1:
      |---- TB1
      |---- TB2
      + LTB2

      Hay vấn đề thật sự là:
      + LTB1:
      |---- TB1
      |---- TB2
      |---- LTB2

      Bạn có thể làm rõ hơn không?

      Comment


      • #4
        Originally posted by 08520021 View Post
        Có phải vấn đề của bạn là:
        + LTB1:
        |---- TB1
        |---- TB2
        - LTB2

        Trong khi bạn muốn hiển thị:
        + LTB1:
        |---- TB1
        |---- TB2
        + LTB2

        Hay vấn đề thật sự là:
        + LTB1:
        |---- TB1
        |---- TB2
        |---- LTB2

        Bạn có thể làm rõ hơn không?
        hình như vấn đề của thớt là cái cuối ak a
        Lòng người là.. GIẤY
        .............................là GIẤY........chứ không phải là VÀNG, cớ sao nhiều người vẫn thích mang đi thử lửa !?!
        NK

        Comment


        • #5
          Originally posted by 08520021 View Post
          Có phải vấn đề của bạn là:
          + LTB1:
          |---- TB1
          |---- TB2
          - LTB2

          Trong khi bạn muốn hiển thị:
          + LTB1:
          |---- TB1
          |---- TB2
          + LTB2

          Hay vấn đề thật sự là:
          + LTB1:
          |---- TB1
          |---- TB2
          |---- LTB2

          Bạn có thể làm rõ hơn không?
          Vấn đề là mình muốn hiển thị:\
          + LTB1:
          |---- TB1
          |---- TB2
          + LTB2

          nhưng nó lại hiển thị:

          + LTB1:
          |---- TB1
          |---- TB2
          |----LTB2

          Comment


          • #6
            Originally posted by 10520468 View Post
            thêm cái điều kiện thongbao.Rows.Count > 0 trước khi add thông báo không biết được không nhỉ bạn thử xem
            không bạn à, nó vẫn không thay đổi gì!

            Comment


            • #7
              Originally posted by vyclarks View Post
              không bạn à, nó vẫn không thay đổi gì!
              - Cái vòng lặp for bản thân nó đã thỏa điều kiện rồi nên đoạn code if cho vào là thừa.
              - Mình lâu rồi không làm trên C# nên cũng không rõ, [MENTION=38275]vyclarks[/MENTION]: có thể cho mình xin tấm hình cái treeview được không

              Comment


              • #8
                Mình khá tò mò với cái này nên nếu được bạn có thể add gtalk của mình: andotrong@gmail.com

                Comment


                • #9
                  haiza không có project nên khó thử quá...! bạn thử thế này nha coi được k nếu không thì mình bó tay rồi
                  code này TreeView1.Nodes[i].ChildNodes.Add(CN); bạn thay bằng dòng này xem TN.Nodes.Add(CN);
                  Lòng người là.. GIẤY
                  .............................là GIẤY........chứ không phải là VÀNG, cớ sao nhiều người vẫn thích mang đi thử lửa !?!
                  NK

                  Comment


                  • #10
                    Originally posted by 08520021 View Post
                    Mình khá tò mò với cái này nên nếu được bạn có thể add gtalk của mình:
                    skype được không bạn, sao gtalk mình khởi động hoài không được
                    skype: vyclarks
                    yahoo: vyclarks
                    Last edited by vyclarks; 10-09-2013, 22:20.

                    Comment

                    LHQC

                    Collapse
                    Working...
                    X