DataAdapter.Fill(datatable) в отдельном потоке
От: tnikolai  
Дата: 24.09.06 10:19
Оценка:
Если вызываю DataAdapter.Fill(datatable) в отдельном потоке, то в связанной через BindingSource сетке ничего не отображается.
Однако обнаружил, что если просто щёлкнуть на к-л заголовке столбца в сетке, данные появляются. Но как это сделать програмно? Пытался в конце вызывать Refresh, update, ResumeBinding, ResetBinding, а так же заключать вызов в beginInit, suspendBinding, suspendLayout — ничего не помогает, сетка полюбому пустая.

А всё это мне нужно только для того, чтоб показать Progress bar при ыполнении длительного запроса. Нужно чтоб Progress bar просто крутился не отражая реальный % выполнения запроса. Progress bar приходится выполнять в основном потоке(по таймеру через Invoke), иначе появляется ошибка InvalidOperationException.
Если DataAdapter.Fill(datatable) выполняю в основном потоке, то он его полностью занимает и пока не выполнится, прогресс не идёт.
В общем что ни пытюсь сделать — натыкаюсь на непреодолимый тупик.

Неужели такую простую вещь как Progress bar невозможно сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.