ListView nhiều checkbox ?

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Ngày mai trời lại sáng

Thành viên thường trực
Tham gia
4/7/21
Bài viết
339
Được thích
139
Chào anh chị,

Em có tham khảo link sau để tạo ListView nhiều checkbox tương tự như ảnh kèm

1708499602667.png

Mã:
With ListView1
   .View = lvwReport
   .Gridlines = True
   .SmallIcons = ImageList1
 
   With .ColumnHeaders
      .Clear
      .Add , , "Item", 40
      .Add , , "Subitem-1", 55
      .Add , , "Subitem-2", 55
      .Add , , "Subitem-3", 55
      .Add , , "Subitem-4", 55
   End With
   
   Dim li As ListItem
   
   Set li = .ListItems.Add(, , "Item 1")
   li.ListSubItems.Add , , "Subitem 1.1"
   li.ListSubItems.Add , , , 1
   li.ListSubItems.Add , , , 1
   li.ListSubItems.Add , , "Subitem 1.4"
   
   Set li = .ListItems.Add(, , "Item 2")
   li.ListSubItems.Add , , "Subitem 2.1"
   li.ListSubItems.Add , , , 2
   li.ListSubItems.Add , , , 1
   li.ListSubItems.Add , , "Subitem 2.4"
 
   Set li = .ListItems.Add(, , "Item 3")
   li.ListSubItems.Add , , "Subitem 3.1"
   li.ListSubItems.Add , , , 1
   li.ListSubItems.Add , , , 2
   li.ListSubItems.Add , , "Subitem 3.2"
End With

Nhưng code chạy thường lỗi
"ImageList must be initialized before it can be used"
ở dòng: .SmallIcons = ImageList1

Nhờ anh chị xem giúp
Em cảm ơn
 

File đính kèm

  • LV.xlsm
    23.3 KB · Đọc: 9
Chắc bạn đọc và code theo bài này, nhưng bạn làm chưa đúng với code trên chỉ dùng để hiển thị thôi, chứ để người dùng thao tác thì phải code nhiều.

This is a neat solution to display Boolean values as checkboxes in ListView columns. But if you need to provide your users with the ability to change the statuses of the ListView checkboxes interactively by clicking them, you will need to write a lot of code to support this infrastructure and duplicate it together with the ImageList control storing the checked and unchecked checkbox images for every required ListView control in your Excel VBA project.

 
Upvote 0
Chắc bạn đọc và code theo bài này, nhưng bạn làm chưa đúng với code trên chỉ dùng để hiển thị thôi, chứ để người dùng thao tác thì phải code nhiều.

This is a neat solution to display Boolean values as checkboxes in ListView columns. But if you need to provide your users with the ability to change the statuses of the ListView checkboxes interactively by clicking them, you will need to write a lot of code to support this infrastructure and duplicate it together with the ImageList control storing the checked and unchecked checkbox images for every required ListView control in your Excel VBA project.

Cảm ơn bạn, mình có xem đoạn đó nhưng vấn đề code nhiều ở đây là những gì thì mình chưa biết nên đưa lên đây nhờ mọi người hỗ trợ.
 
Upvote 0
Mục đích của code chỉ là dùng ảnh hình check box (2 ảnh: 1 ảnh chưa check, 1 ảnh đã check) để thay thế, nên nếu để người dùng thao tác được thì bạn phải code thêm sự kiện để nhận biết khi người dùng click vào chỗ đó, mình chưa làm kiểu này bao giờ nhưng code không dễ. Nếu bạn muốn có code đó thì phải đợi người khác giúp bạn rồi.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom