Tôi có một BindingList <> của một lớp được đặt thành thuộc tính DataSource của một BindingSource, mà lần lượt được đặt thành thuộc tính DataSource của một DataGridView.BindingList <> ListChanged event
1. Đó là sự hiểu biết của tôi rằng mọi bổ sung vào danh sách sẽ kích hoạt sự kiện ListChanged sẽ truyền bá thông qua BindingSource và sau đó lên DataGridView, bản cập nhật sẽ hiển thị thay đổi. Điều này sẽ xảy ra vì các sự kiện đã được tự động kết nối. (Có?)
Điều này là tốt và tốt khi tất cả công việc được thực hiện trên chuỗi giao diện người dùng, nhưng khi danh sách được tạo và thay đổi từ chuỗi không phải giao diện người dùng, cuối cùng là trường hợp ngoại lệ chéo xảy ra khi lưới đã cập nhật. Tôi có thể hiểu lý do tại sao điều này xảy ra, nhưng không có cách khắc phục ...
2. Điều tôi đang gặp khó khăn là tôi nên chặn sự kiện ListChanged để thử và sắp xếp thứ gì vào chuỗi giao diện người dùng ? Tôi đoán rằng tôi cần một tham chiếu đến thread UI bằng cách nào đó để giúp làm điều này?
Tôi đã đọc nhiều bài viết/bài viết về vấn đề này, nhưng tôi đang gặp khó khăn bởi vì tôi không hiểu đầy đủ về cơ chế tại nơi làm việc ở đây.
Tôi sẽ không bao giờ được thay đổi bất kỳ mục khi họ đang có trong danh sách, chỉ thêm chúng, và ban đầu thanh toán bù trừ danh sách.
(Tôi đang sử dụng NET 2,0)
TUYỆT VỜI. Nếu tôi có thể upvote điều này một triệu lần, tôi sẽ. – bulltorious
Tôi hiểu nó, nhưng nó vẫn là phép thuật và làm những gì mọi người muốn làm. Cập nhật điều khiển thông qua cấu trúc dữ liệu và không phải lo lắng về việc gọi. – Beached
@bulltorious bạn có thể cung cấp tiền thưởng :) –