Добрый день!
У меня следующая проблема. Есть окно, в котором две компоненты FrameGroup. В первом - все необходимые визуальные компоненты (в том числе DataGrid, к которому привязан Dataset). Во втором - ProgressBar. После нажатия пользователем любой кнопки (например, Печать), первый FrameGroup прячется и показывается второй, на котором показывается прогресс выполнения. Проблема появляется при вызове Dataset.GoToFirst(). Появляется ошибка "Cannot focus a disabled or invisible window". Самое интересное, что на тестовой системе всё работает, но после переноса на живую показывается вышеописанная ошибка. Кто-нибудь знает в чём может быть проблема?
Нравится
Наверное грид пытается "отрисоваться", когда Вы программно переходите на первую запись.
Может лучше не прятать первый FrameGroup, а просто сделать ему IsEnabled = false ?
Если все-таки требуется прятать, попробуйте отключить события датасате:
[javascript]
Dataset.DisableEvents();
try
{
// спрятали фрейм
Dataset.GotoFirst();
// сделали работу
...
}
finally
{
// наверное, показали фрейм
Dataset.EnableEvents();
}
[/javascript]
Для этих целей лучше использовать отдельное окно wnd_ProcessingProgress.
Спасибо! DisableEvents помогло. wnd_ProcessingProgress не всегда можно использовать. Есть случаи, когда на окне все дёргаетьса (например большая функция Prepare). Я не хочу ето показывать пользователю, так как ето его роздражает. Вместо етого я показываю прогресс.