powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / grid+форма
19 сообщений из 19, страница 1 из 1
grid+форма
    #36274858
trancelazer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос в следующем, можно ли через grid добавлять в таблицу записи
...
Рейтинг: 0 / 0
grid+форма
    #36274886
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trancelazerвопрос в следующем, можно ли через grid добавлять в таблицу записи

Форма красивая. Очень. Только не хватает кнопки "Новая запись". Добавьте (прописав в ее Click код добавления) и всем будет счастье.
...
Рейтинг: 0 / 0
grid+форма
    #36275558
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reware,

Есть там эта кнопка. "Новый" называется.
Только непонятно, зачем новые записи заносить через Грид.
Скорее наоборот, имеющиеся _основные_ данные по записям показывать в гриде, детали - в контролах формы, а вот добавлять новые записи в грид(таблицу)- при помощи этой же формы или какой другой.

Читайте статьи Гринчишина по Гриду на universalthread.com или foxckub.ru

Опять же, при наличии грида можно убрать с формы кнопки навигации, но сделать быстрый поиск по гриду по 1-2-м основным полям.
Вобщем, хозяин-барин
...
Рейтинг: 0 / 0
grid+форма
    #36275825
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igorbik
foxckub.ru


Конечно, foxclub.ru.
...
Рейтинг: 0 / 0
grid+форма
    #36277393
trancelazer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пасиб за советы,
я просто не доконца раскрыл суть
смысл в том что через грид(zakaz) необходимо вводить работы(task) их может быть много
и как по другому их ввести кроме как через grid(табл zakaz) я пока недогоняю
...
Рейтинг: 0 / 0
grid+форма
    #36277396
trancelazer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
grid+форма
    #36277857
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trancelazerпасиб за советы,
я просто не доконца раскрыл суть
смысл в том что через грид(zakaz) необходимо вводить работы(task) их может быть много
и как по другому их ввести кроме как через grid(табл zakaz) я пока недогоняю

Изначально неверное понятие "вводить записи через грид". Записи вводятся в таблицу, грид ее только отображает. Тут не важна конкретика - какие там есть таблицы и как они связаны друг с другом. С этим вы сами разбирайтесь. А для того, чтобы просто добавить в нужную таблицу (например task) новую запись пропишите в методе Click кнопки "Новая" команду APPEND BLANK IN task и (если надо) внесите нужные значения в поля этой записи.
Или тут чего-то такое, о чем нужно догадаться с помощью телепатии ?
...
Рейтинг: 0 / 0
grid+форма
    #36281459
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rewaretrancelazerпасиб за советы,
я просто не доконца раскрыл суть
смысл в том что через грид(zakaz) необходимо вводить работы(task) их может быть много
и как по другому их ввести кроме как через grid(табл zakaz) я пока недогоняю

Изначально неверное понятие "вводить записи через грид". Записи вводятся в таблицу, грид ее только отображает. Тут не важна конкретика - какие там есть таблицы и как они связаны друг с другом. С этим вы сами разбирайтесь. А для того, чтобы просто добавить в нужную таблицу (например task) новую запись пропишите в методе Click кнопки "Новая" команду APPEND BLANK IN task и (если надо) внесите нужные значения в поля этой записи.
Или тут чего-то такое, о чем нужно догадаться с помощью телепатии ?

Не скажи - можно, при использовании видов и умелом использовании грида и его свойства алловадднов накрутить такой грид - которого боюсь ты не видел, а жаль.
...
Рейтинг: 0 / 0
grid+форма
    #36281467
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Местами администратор
Не скажи - можно, при использовании видов и умелом использовании грида и его свойства алловадднов накрутить такой грид - которого боюсь ты не видел, а жаль.

Хм, а мне как-то нет. Или автором было высказано желание чего-то накрутить ?
...
Рейтинг: 0 / 0
grid+форма
    #36281567
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rewaretrancelazerпасиб за советы,
я просто не доконца раскрыл суть
смысл в том что через грид(zakaz) необходимо вводить работы(task) их может быть много
и как по другому их ввести кроме как через grid(табл zakaz) я пока недогоняю

Изначально неверное понятие "вводить записи через грид". Записи вводятся в таблицу, грид ее только отображает. Тут не важна конкретика - какие там есть таблицы и как они связаны друг с другом. С этим вы сами разбирайтесь. А для того, чтобы просто добавить в нужную таблицу (например task) новую запись пропишите в методе Click кнопки "Новая" команду APPEND BLANK IN task и (если надо) внесите нужные значения в поля этой записи.
Или тут чего-то такое, о чем нужно догадаться с помощью телепатии ?

Не надо уводить нас в потусторонние миры.
Если я "протелепатировал", то в гриде должны висеть дочерние к двум таблицам записи.
В таком случае их не только можно, но и нужно вносить в Грид (точнее в таблицу, на базе которой этот грид нарисован, как правильно здесь писалось).
Но для этого нужно добавить к гриду _новую группу кнопок_ для ред/доб/удал/поиска записей.
Использовать для этого ALLOWADDNEW не стоит, ибо мои юзеры для перемещений по гриду используют те же стрелки, а потом удивляются, откуда там так много пустышек???
Также и в самом гриде вносить значения полей напрямую считается в Фоксе дурным тоном: лучше все делать через доп. форму, где уже точно можно много чего наворотить (как тут писалось), хотя в любом случае лишние навороты мешают работать, но при этом юзеру будет намного удобнее и _эргономичнее_ работать.

Не забудьте при записи в дочернюю таблицу сразу записывать туда значения ключевых полей для связанных таблиц.
...
Рейтинг: 0 / 0
grid+форма
    #36281655
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напрямую? Пустые записи? - Используйте виды, и сохраняйте только те записи, у которых заполнено обязательное поле!
...
Рейтинг: 0 / 0
grid+форма
    #36281661
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а чтобы не было путаницы - добавлена одна запись, ключевые поля не заполнены - не давайте добавлять новые строки
...
Рейтинг: 0 / 0
grid+форма
    #36281694
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в BeforeRowColChange Grid прописываем

LPARAMETERS ncolindex
POP KEY
IF lastkey()=24 AND !EMPTY(таблица.обязательное_поле) THEN
this.AllowAddNew=.T.
ELSE
this.AllowAddNew=.F.
ENDIF
и нельзя добавить новую строку, пока не заполнено (таблица.обязательное_поле)
...
Рейтинг: 0 / 0
grid+форма
    #36281720
Местами администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сохранить данные для вида можно, например так:
SELECT таблица
SCAN
IF !EMPTY(таблица.обязательное_поле) OR DELETED()
TABLEUPDATE(0,.T.)
ENDIF
ENDSCAN
TABLEREVERT(.t.)
не забудьте поработать с настройками
SET MULTILOCKS
и настройте буферизацию
...
Рейтинг: 0 / 0
grid+форма
    #36286328
trancelazer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасиб, ребята за участие , но вопросы вырастают сами собой
в итоге решил вводить данные не через грид , а через combo и textbox а данные отображать в грид,
но вот такая проблема
grid отображает только первые две добавленные записи, когда добавляю еще они дбавляються но неотображаться, пока я мышкой неткну в грид,
из-за чего это?
и как еще очистить поля combobox и texbox после добавления

вот код кнопки добавить

LOCAL id_tasknew,cost_new,time_new

id_tasknew =VAL(thisform.PAGEFRAME1.PAGE1.combo2.value)

cost_new =VAL(thisform.PAGEFRAME1.PAGE1.cost_txt.value)

time_new=VAL(thisform.PAGEFRAME1.PAGE1.time_txt.value)
newid=work1.id_work1

APPEND BLANK IN zakaz
replace id_work1 WITH newid,;
id_task WITH id_tasknew,;
cost WITH cost_new,;
time WITH time_new;
in zakaz

thisform.pageframe1.page1.grdZakaz.Refresh()
...
Рейтинг: 0 / 0
grid+форма
    #36287791
Peisov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trancelazer,

вот я бы, честно говоря, сделал бы грид для отображения записей. А рядом кнопочки "Добавить", "Изменить", "Удалить".

Соответственно - по кнопочкам "добавить" и "изменить" - вызывал бы новую форму, в которой и редактировл бы записи.
...
Рейтинг: 0 / 0
grid+форма
    #36315154
trancelazer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот еще вопрос, как очистить поля в textbox, и у меня почему-то, когда янажимаю вверху на галочку рядом с датой , становяться неактивные боксы которые привязаны к таблице
вот код галки
ch=THISFORM.PAGEFRAME1.PAGE1.Check3.Value
IF ch=1
dt=DATE()
THISFORM.PAGEFRAME1.PAGE1.txtDate_postup.Value=dt
SELECT work1
thisform.Refresh()

else
dt=""
THISFORM.PAGEFRAME1.PAGE1.txtDate_postup.Value=dt
SELECT work1
thisform.Refresh()

endif
...
Рейтинг: 0 / 0
grid+форма
    #36315180
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нулевую дату лучше присваивать кодом типа
dt={}
а не
dt=""
...
Рейтинг: 0 / 0
grid+форма
    #36316193
trancelazer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пасиб,
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / grid+форма
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]