Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Почему сбиваются настройки грида?  [new]
Соня_
Member

Откуда: Екатеринбург
Сообщений: 106
У меня такая проблема:

Необходимо изменять содержимое грида в зависимости от изменения задаваемых на форме данных.

Я необходимые данные формирую в виде запроса.
В гриде RecordSourceType=4 - SQL Statement

При задании новых данных;
(изменение thisform.cod к примеру)
a1="select * from table where cod=thisform.cod"
thisform.grid1.RecordSource=a1
thisform.grid1.refresh

Новые данные у меня выбираются как надо и помещаются в грид, только вот иногда при этом сбиваются в гриде все заголовки и описанные св-ва столбцов (ширины, и т.д.).

Почему так происходит и как это исправить???

Самое интересное, что иногда это все сбивается, иногда нет. Но если один раз сбивается, то на место уже не встает. Зато может несколько раз нормально отобразить новые данные, а потом это происходит.

Кто-нибудь знает в чем тут может быть дело?
31 май 04, 10:23    [710379]     Ответить | Цитировать Сообщить модератору
 Re: Почему сбиваются настройки грида?  [new]
АлександрК
Member

Откуда: Белгородская обл.
Сообщений: 121
Попробуй перед обновлением очищать источник данных Grid.

thisform.grid1.RecordSource=""
a1="select * from table where cod=thisform.cod"
thisform.grid1.RecordSource=a1
thisform.grid1.refresh
31 май 04, 10:45    [710441]     Ответить | Цитировать Сообщить модератору
 Re: Почему сбиваются настройки грида?  [new]
Соня_
Member

Откуда: Екатеринбург
Сообщений: 106
Спасибо, но в данном случае это не помогает...
31 май 04, 11:12    [710545]     Ответить | Цитировать Сообщить модератору
 Re: Почему сбиваются настройки грида?  [new]
Раз (1)
Member

Откуда: Е-бург
Сообщений: 193
Есть подозрение, что в данном случае проблема в расположении звезд... Но не на небе, а в строке с запросом :)
То есть я бы попробовал вместо select * написать select field1, field2, ...., fieldN. Так, в порядке танцев с бубном...
31 май 04, 11:23    [710580]     Ответить | Цитировать Сообщить модератору
 Re: Почему сбиваются настройки грида?  [new]
Соня_
Member

Откуда: Екатеринбург
Сообщений: 106
Спасибо )))))

Перечень полей у меня был уже (это я тут для краткости написала).
Сейчас вроде пропала ошибка.

Я поставила в гриде
RecordSource=c_table, где c_table отсюда:
a1="select * from table where cod=thisform.cod into c_table"

хотя он до этого точно так же задавался програмно только:
thisform.grid1.RecordSource=a1

Видимо в этом дело, наверное как-то привязываются поля, хотя содержимое курсора потом меняется.
Вроде сейчас все работает... Надеюсь, что не "сломается" опять ни с того, Ни с сего.

Всем спасибо!!! %))))
31 май 04, 11:55    [710686]     Ответить | Цитировать Сообщить модератору
 Re: Почему сбиваются настройки грида?  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Такая проблема может возникнуть, если задание RecordSource происходит исключительно программно, а на этапе проектирования формы в дезайнере в качестве RecordSource оставлено значение (None) по умолчанию (т.е. обычным шрифтом, НЕ жирным).

В этом случае при инициализации объекта Grid ему в качестве источника данных будет автоматически установлена таблица из текущей рабочей области. И соответсвенно, снесет все настройки столбцов.

Чтобы этого избежать, надо на этапе проектирования формы в дезайнере установить указатель на свойство RecordSource и нажать клавишу "Enter". В этом случае, значение RecordSource останется (None), но будет выделено жирным шрифтом. Т.е. это уже не будет значение по умолчанию.
31 май 04, 12:38    [710804]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить