Я хотел бы отобразить элементы из Queue
в Gridview в Windows Forms. Я могу установить для атрибута источника данных Gridview значение Queue
, но оно не будет автоматически обновлено. Я знаю, что могу использовать класс BindingList
, но тогда я теряю функциональность Queue
.
Есть ли способ объединить два класса или мне нужно реализовать одно из поведений в производном классе?
То, что я делаю, обрабатывает список элементов, я хочу показать остальные в сетке. Данные не должны изменяться пользователем, но я хочу, чтобы GridView обновлялся по мере изменения содержимого очереди.
Пример:
В форме:
Proccessor pro = new Processor();
gridview.DataSource = pro.Items;
В классе:
class Proccessor {
Queue<DataBlock> _queue = new Queue();
public Queue<DataBlock> Items {
get {
return _queue;
}
}
public void AutoProcess() {
while (_queue.Count > 0) {
Process(_queue.Dequeue());
}
}
private void Process(DataBlock db) { ... }
}