Hiển thị kết quả từ 1 đến 8 / 8
  1. #1
    Tham gia
    10-08-2008
    Bài viết
    20
    Like
    0
    Thanked 0 Times in 0 Posts

    Câu hỏi, cần giúp đỡ item trong control Listview

    Cho mình hỏi mình có 1 listview show thong tin như vầy:
    Desc 1
    Desc 2
    Desc 3
    Desc 4
    Desc 5

    Bây giờ mình có 1 cái list khác như sau:
    Desc 1
    Desc 4
    Desc 5

    Mình muốn tô màu những item của List 2 trong List 1. Có thuật toán nào load với tốc độ nhanh nhất không? xin anh em chỉ giáo.
    Quote Quote

  2. #2
    Tham gia
    17-10-2007
    Bài viết
    48
    Like
    0
    Thanked 0 Times in 0 Posts
    cách nhanh nhất thì mình không rõ nhưng cách đơn giản nhất là dùng loop for 2 lần

    for từng item trong list1
    for từng item trong list2
    nếu item trong list2 = item tronglist1 thi tô màu, không thì thôi
    end for2
    end for1

  3. #3
    Tham gia
    22-06-2007
    Bài viết
    328
    Like
    0
    Thanked 4 Times in 4 Posts
    khng biết ổng cần nhanh để làm gì cái này.
    nè là trên destop hay web nhỉ.
    hihi. spam ti

  4. #4
    Tham gia
    27-09-2007
    Bài viết
    14
    Like
    0
    Thanked 1 Time in 1 Post
    Bạn nên hiểu listview thể hiện dữ liệu như một list. chính thì thao tác của nó như list nên không có sẵn các link để liên kết. như bạn ongngochoang viết đó. bạn phải dùng lệnh để duyệt.
    2 công đoạn:
    1. bạn load dữ liệu lên 2 listview
    2. bạn code phần quan hệ ( list view không hỗ trợ phần này)

  5. #5
    Tham gia
    10-08-2008
    Bài viết
    20
    Like
    0
    Thanked 0 Times in 0 Posts
    Mình cần nhanh vì listview của mình lớn lắm. Hơn cả ngàn item. Nếu load theo kiểu 2 loop thì lâu quá. Mình viết ứng dụng trên win form. bạn nào có cách hay xin chỉ giáo.

  6. #6
    Tham gia
    17-05-2005
    Location
    HCM
    Bài viết
    70
    Like
    0
    Thanked 0 Times in 0 Posts
    Bạn load cả ngàn item lên một lúc hay là load một phần của cả ngàn item đó?
    Thông thường thì bạn load một phần là hay nhất, khoảng 30 item chẳng hạn, nhưng bạn phải cache phần đó lại, tương tự như chơ chế asynchonous của ajax.

    Như vậy thì khi cần bạn chỉ cần kiểm tra trong phần bạn đã cache lại thôi.
    Nếu nhu cầu của bạn là tất cả các item không có ở list 1 thì bắt buộc phải loop hết thôi.

  7. #7
    Tham gia
    05-11-2008
    Bài viết
    6
    Like
    0
    Thanked 0 Times in 0 Posts
    ko co bai tham khao ah! post len di cho moi nguoi xem, de co the de tra loi

  8. #8
    Tham gia
    11-08-2007
    Bài viết
    61
    Like
    0
    Thanked 1 Time in 1 Post
    Quote Được gửi bởi ITVnese View Post
    Bạn load cả ngàn item lên một lúc hay là load một phần của cả ngàn item đó?
    Thông thường thì bạn load một phần là hay nhất, khoảng 30 item chẳng hạn, nhưng bạn phải cache phần đó lại, tương tự như chơ chế asynchonous của ajax.

    Như vậy thì khi cần bạn chỉ cần kiểm tra trong phần bạn đã cache lại thôi.
    Nếu nhu cầu của bạn là tất cả các item không có ở list 1 thì bắt buộc phải loop hết thôi.
    cái này là chuẩn xác đó
    trông list có phuơng thức hỗ trợ vjec này bạn có thể tham khảo code dưới
    private void listketqua_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
    {
    e.Item = new ListViewItem(FileName[e.ItemIndex].ToString(),_iconListManager.AddFileIcon(Path[e.ItemIndex].ToString()));
    e.Item.SubItems.Add(Path[e.ItemIndex].ToString());
    e.Item.SubItems.Add(FSize[e.ItemIndex].ToString() + " KB");
    }

    công vjec của đoạn code này là hjen thj hết tất cả các item trên màn hjnh đầy màn hjnh roài thj` thôi nó ko add nữa kéo đến đâu nó load đến đó

    còn vjec cua ban 007 thj` nói chung là cái list 2 của bạn có chứa các DL # của list 1 ko nếu ko thj` quá đơn giản còn # thj` đành làm như trên vậy

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • 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
  •