Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Cách lấy ID của Nodes khi click vào Node con của treview

  1. #1
    Ngày gia nhập
    03 2012
    Nơi ở
    Quảng Nam
    Bài viết
    23

    Post Cách lấy ID của Nodes khi click vào Node con của treview

    Mình có đoạn code:
    Visual C# Code:
    1.  public void ThucDon()
    2.         {
    3.             this._danhSachNhomMon = daoNhomMon.getDanhSachNhomMon();
    4.  
    5.             //this.trlThucDon = null;
    6.             this.trlThucDon.Nodes.Clear();
    7.             foreach (System.Data.DataRow dtrNhomMon in _danhSachNhomMon.Rows)
    8.             {
    9.                 TreeNode nodeNhomMon = new TreeNode();
    10.                 nodeNhomMon.Text = Convert.ToString(dtrNhomMon[1]);
    11.                 nodeNhomMon.Name = Convert.ToString(dtrNhomMon[0]);
    12.                 int maNhom = Convert.ToInt32(dtrNhomMon[0]);
    13.                 //MessageBox.Show(Convert.ToString(maNhom));
    14.                 this._danhSachThucDon = daoThucDon.getMonTheoNhom(maNhom);
    15.                
    16.                 foreach (System.Data.DataRow drtMenu in _danhSachThucDon.Rows)
    17.                 {
    18.                     TreeNode nodeMon = new TreeNode();
    19.                     nodeMon.Text = Convert.ToString(drtMenu[2]);
    20.                     nodeMon.Name = Convert.ToString(drtMenu[0]);
    21.                     nodeNhomMon.Nodes.Add(nodeMon);
    22.                 }
    23.                 trlThucDon.Nodes.Add(nodeNhomMon);
    24.             }
    25.         }
    mình tạo 1 treeview, giờ mình muốn bắt sự kiện khi click vào node con trong treeview thì lấy được ID của node con, muốn vậy thì phải làm như thế nào ? , mong cao thủ nào chỉ giúp mình với,(chỉ bắt sự kiẹn khi click node con)
    Tiện thể cho mình hỏi luôn là mình dúng combobox trong devexpress nhưng không thấy mấy cái như trong combobox bình thường như
    cbb.DataSource = _danhSachThucDon;
    cbb.DisplayMember = "TenMon";
    cbb.ValueMember = "MaMon;
    Có ai chỉ giúp với, một lần nữa xin cảm ơn

  2. #2
    Ngày gia nhập
    07 2010
    Bài viết
    138

    Trong đoạn code bạn add vào thì thêm dòng này vào: nodeMon.Tag= trường ID ;
    Sau đó bạn gọi cái ID= trlThucDon.Tag.ToString() (giả sử ID kiểu varchar) là ok

  3. #3
    Ngày gia nhập
    03 2012
    Nơi ở
    Quảng Nam
    Bài viết
    23

    Trích dẫn Nguyên bản được gửi bởi leminh_005 Xem bài viết
    Trong đoạn code bạn add vào thì thêm dòng này vào: nodeMon.Tag= trường ID ;
    Sau đó bạn gọi cái ID= trlThucDon.Tag.ToString() (giả sử ID kiểu varchar) là ok
    Xin cảm ơn bạn trứoc
    Đầu tiên mình cũng đã làm như bạn hướng dẫn
    Visual C# Code:
    1. foreach (System.Data.DataRow drtMenu in _danhSachThucDonTheoNhom.Rows)
    2.                 {
    3.                     TreeNode nodeMon = new TreeNode();
    4.                     nodeMon.Text = Convert.ToString(drtMenu[2]);
    5.                     nodeMon.Name = Convert.ToString(drtMenu[0]);
    6.                     nodeMon.Tag = Convert.ToString(drtMenu[0]);
    7.                     nodeNhomMon.Nodes.Add(nodeMon);
    8.                 }
    9.                 trlThucDon.Nodes.Add(nodeNhomMon);
    Và trong sự kiện mouseclick thì như sau
    Visual C# Code:
    1. private void trlThucDon_MouseClick(object sender, MouseEventArgs e)
    2.         {
    3.             string id = trlThucDon.Tag.ToString();
    4.             MessageBox.Show(id);
    5.         }
    Nhưng nó báo lỗi khi click chuột vào nodes



    Bạn giúp mình với, lưu ý là chỉ lấy id của mấy cái nodecon thôi, mấy cái node nhóm món không lấy

  4. #4
    Ngày gia nhập
    07 2010
    Bài viết
    138

    Bạn thêm if(trlThucDon.Tag !=null) vào trước đoạn lệnh đó là được nhé

    À còn nữa sự kiện đúng của click TreeView là sự kiện mặc định AfterSelect nhé. Mình chưa dùng MouseClick bao giờ không biết có gì khác không
    Đã được chỉnh sửa lần cuối bởi leminh_005 : 17-04-2012 lúc 10:16 PM.

  5. #5
    Ngày gia nhập
    03 2012
    Nơi ở
    Quảng Nam
    Bài viết
    23

    giá trị của trlThucDon.Tag vẫn = null bạn à. chỉ có giá trị của nodeMon.tag thôi.

  6. #6
    Ngày gia nhập
    07 2010
    Bài viết
    138

    Mặc định Cách lấy ID của Nodes khi click vào Node con của treview

    À chết, mình nhầm thì phải: if(trlThucDon.SelectedNode != null && trlThucDon.SelectedNode.Tag != null), sau đó ID = trlThucDon.SelectedNode.Tag là chuẩn

  7. #7
    Ngày gia nhập
    03 2012
    Nơi ở
    Quảng Nam
    Bài viết
    23

    OK rồi, mình cảm ơn bạn nhiều lắm, cho mình hỏi luôn cái vế sau của câu hỏi trên kia
    Visual C# Code:
    1. cbb.DataSource = _danhSachThucDon;
    2. cbb.DisplayMember = "TenMon";
    3. cbb.ValueMember = "MaMon;
    lệnh có ý nghĩa giống thế này trong combobox của devexpress là gì bạn.
    một lần nữa xin cảm ơn bạn

  8. #8
    Ngày gia nhập
    07 2010
    Bài viết
    138

    Mình chưa dùng Dev bao giờ nhưng có cái này cho bạn http://community.devexpress.com/foru...83/211408.aspx

    Tức là bạn dùng control LockUpEdit(khá giống combobox) và cbb.Properties.xxx thay vì cbb.xxx (xxx là DataSource, DisplayMember, ValueMember đó )

Các đề tài tương tự

  1. ADO.NET Sự Kiện kích chuột phải vào node trong treview c#
    Gửi bởi thanhdt trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 01-01-2014, 02:33 PM
  2. Làm sao Click vao Node trong Treeview gọi UserControl tương ứng???
    Gửi bởi hoangtk6 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 14-07-2011, 04:25 PM
  3. Menu right click cho các nodes trong tree view
    Gửi bởi hoanggia trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 29-06-2011, 02:02 PM
  4. Cách viết sự kiện cho TreeView khi click vào 1 node thì đổ DL vào DataGridView
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 20-06-2011, 09:52 AM
  5. Graphic Select Nodes trong của treeview làm sao mà không cần Click?
    Gửi bởi lenhatnguyen trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 24-04-2011, 06:44 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn