. NET Проблема параллелизма Datagridview - PullRequest
0 голосов
/ 06 мая 2020

У меня есть большой проект, использующий множество datagridviews в VB. NET и все сетки работают, кроме трех. Разница с теми, которые не работают, заключается в том, что набор данных в фоновом режиме часто меняется, когда пользователю необходимо внести изменения; однако только для столбцов, предназначенных только для отображения. Один из примеров - сетка, используемая для управления параметрами сокета, поэтому она имеет четыре столбца [IP-адрес], [Порт] и только для чтения [Статус порта] и [Статус TS]. Приложение сокета постоянно меняет состояние порта TS, поскольку оно опрашивает и повторяет попытки примерно каждые три секунды. Из-за этого, когда я читаю данные для datagridview, к тому времени, когда пользователь пытается изменить IP-адрес или порт и обновить его, возникает проблема параллелизма из-за того, что столбец Status TS устарел в этой строке.

Я могу обновить представление и вместо выбора portStatusTS в качестве [Status TS] я могу выбрать DATEADD (second, 0, portstatusTS) AS [Status TS], в результате чего этот столбец в представлении не может быть обновлен, поскольку он выражение, и datagridview работает нормально. Есть ли способ заставить datagridview отключить исходный столбец, чтобы я мог оставить свои представления в покое и все еще не иметь проблемы с параллелизмом?

...