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

Откуда:
Сообщений: 9
Доброго времени суток! У меня есть форма на которой расположен грид, кнопки управления(добавить, удалить, печать и тд), также отдельно расположен текстбокс. Как можно сделать так, чтобы при пролистывании грида в текстбоксе отображалось поле, на котором находится курсор в данный момент?
29 авг 21, 16:01    [22365142]     Ответить | Цитировать Сообщить модератору
 Re: Фокус на Textbox из Grid  [new]
PaulWist
Member

Откуда:
Сообщений: 2300
lazlo
Доброго времени суток! У меня есть форма на которой расположен грид, кнопки управления(добавить, удалить, печать и тд), также отдельно расположен текстбокс. Как можно сделать так, чтобы при пролистывании грида в текстбоксе отображалось поле, на котором находится курсор в данный момент?


Form.Init
with thisform
  with.Grid
    .RowSource = 'MyTable'
    .Column1.ControlSource = 'MyTable.MyField'
  endwith

  .TextBox..ControlSource = 'MyTable.MyField'
endwith
30 авг 21, 07:38    [22365239]     Ответить | Цитировать Сообщить модератору
 Re: Фокус на Textbox из Grid  [new]
lazlo
Member

Откуда:
Сообщений: 9
PaulWist,

Большое спасибо
31 авг 21, 18:20    [22365958]     Ответить | Цитировать Сообщить модератору
 Re: Фокус на Textbox из Grid  [new]
lazlo
Member

Откуда:
Сообщений: 9
Кто-нибудь может подсказать как сделать запрет на ввод повторяющихся значений в таблицу через грид на форме?
31 авг 21, 18:22    [22365959]     Ответить | Цитировать Сообщить модератору
 Re: Фокус на Textbox из Grid  [new]
PaulWist
Member

Откуда:
Сообщений: 2300
lazlo
Кто-нибудь может подсказать как сделать запрет на ввод повторяющихся значений в таблицу через грид на форме?


Поиск по Candidat
1 сен 21, 12:07    [22366225]     Ответить | Цитировать Сообщить модератору
 Re: Фокус на Textbox из Grid  [new]
lazlo
Member

Откуда:
Сообщений: 9
PaulWist,
Я знаю, что Candidat это тип индекса, но можно чуть-чуть по подробнее? Я просто совсем новичок в FoxPro.
Пробовал делать через индекс, при добавлении записи через APPEND BLANK выдает ошибку о нарушении уникальности
1 сен 21, 18:09    [22366496]     Ответить | Цитировать Сообщить модератору
 Re: Фокус на Textbox из Grid  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7919
Контроль уникальности, в принципе, можно реализовать 2 способами

1. Программированием. "Вручную" проверять содержимое таблицы на предмет существования такого же значения.

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

2. Создание структуры, которая будет автоматически контролировать уникальность значений. В FoxPro это индекс типа Candidat (его частный случай - Primary).

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

Если необходимо контролировать уникальность только среди не удаленных записей, то надо добавить в индекс For-условие такого вида

index on MyField tag MyField CANDIDATE FOR !Deleted()


====================

Append Blank - это команда создает новую запись у которой все поля пустые. Конфликт с уникальным индексом может быть в случае, если запись с пустым значением уже есть. Возможно, среди записей, помеченных как удаленные. Проверить можно так

* Отключаем фильтр по записям, помеченным как удаленные
set delete off

* Смотрим, что в таблице
BROWSE


Но лучше вместо команды APPEND BLANK использовать команду INSERT INTO, чтобы сразу создавать запись с не пустыми значениям полей
1 сен 21, 21:54    [22366612]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить