Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновление Check в Grid / 14 сообщений из 14, страница 1 из 1
15.02.2012, 17:23
    #37663518
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
...
Рейтинг: 0 / 0
15.02.2012, 17:31
    #37663538
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Каков код поиска данных? А то выяснится, что устанавливается фильтр, а снять его забывают.
...
Рейтинг: 0 / 0
15.02.2012, 17:34
    #37663544
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Dag,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
*******************************
* Text1  InteractiveChange
*******************************
SELECT cIspolnit
SELECT cIsp 
thisform.grid1.RecordSource=[]

lcText = UPPER(ALLTRIM(Thisform.Text1.Value))

IF EMPTY(lcText)
	SELECT * FROM cIspolnit INTO CURSOR cIsp READWRITE
	thisform.grid1.RecordSource=[cIsp]
	SELECT cIsp
	GO TOP 
ELSE 
	SELECT * FROM cIspolnit WHERE cIspolnit.fio = lcText INTO CURSOR cIsp2 READWRITE
	IF _tally=0
		MESSAGEBOX("В БД нет данной ФИО",64,"Сообщение")
		Thisform.Text1.Value = ""
		SELECT * FROM cIspolnit INTO CURSOR cIsp
		thisform.grid1.RecordSource=[cIsp]
		GO TOP 
	ELSE 	
		SELECT * FROM cIsp2 INTO CURSOR cIsp READWRITE 
		thisform.grid1.RecordSource=[cIsp]
		SELECT cIsp
	ENDIF 
ENDIF 
...
Рейтинг: 0 / 0
15.02.2012, 17:38
    #37663553
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Dag,

Код: sql
1.
2.
SELECT cIspolnit
SELECT cIsp 



Это один и тот же курсор!
...
Рейтинг: 0 / 0
15.02.2012, 21:57
    #37664114
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
AllkayDag,

Код: sql
1.
2.
SELECT cIspolnit
SELECT cIsp 



Это один и тот же курсор!
Судя по коду это разные курсоры. Каким образом галка попадает из cIsp в cIspolnit?
...
Рейтинг: 0 / 0
16.02.2012, 09:19
    #37664485
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Dag,

Да, название у них разное а содержание одинаково.
Код: sql
1.
2.
3.
4.
5.
SELECT kstruct, tbn, fio, .f. as sel FROM all_lead WHERE kstruct=s AND pruv='0' ORDER BY fio INTO CURSOR cIsp READWRITE 

thisform.grid1.RecordSource=[cIsp]

SELECT * FROM cIsp INTO CURSOR cIspolnit READWRITE 



Это нужно для того чтобы сохранялись исходные данные.
...
Рейтинг: 0 / 0
16.02.2012, 11:25
    #37664724
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Кто ни будь, Help !!!
...
Рейтинг: 0 / 0
16.02.2012, 11:41
    #37664765
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Allkay,

Проверяй, есть ли в курсоре записи с проставленной галкой. Если есть, делай выборку из таблицы по записям из курсора с проставленной галкой, что-то типа

SELECT * FROM Ispolnit, isp WHERE Ispolnit.<поле> = isp.<поле> and isp.<поле>=галка
...
Рейтинг: 0 / 0
16.02.2012, 11:49
    #37664786
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
IgorNG,

А в каком методе делать проверку?
...
Рейтинг: 0 / 0
16.02.2012, 13:06
    #37665001
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Allkay,

Ну откуда ж я знаю. Я так и не понял зачем кнопки на page2, если там grid, который зависит от выбранных данных на page1.
Наверное, в click Сохранить
...
Рейтинг: 0 / 0
16.02.2012, 13:44
    #37665116
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
IgorNG,

Нет, это не Pahe2, это дочерняя форма.
На форме, Grid заполняется из курсора, в Grid устанавливаются галочки напротив ФИО (можно несколько), потом «Сохранить». Дочерняя форма закрывается, и данные заносятся в курсор и в родительскую форму.
Но когда я с помощью своей сортировки нахожу ФИО и ставлю галочку, галочка устанавливается, но когда мне нужно выбрать другое ФИО происходит перезапись курсора cIsp из cIspolnit новыми данными в котором естественно нет галочек, и мне нужно обновлять курсор cIspolnit НЕ выходя из формы, а вот с помощью какой функции или метода мне это сделать?
...
Рейтинг: 0 / 0
16.02.2012, 13:55
    #37665151
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Allkay,

Ну, правильно. У тебя вся эта лабуда крутится на InteractiveChange. Что ж ты хочешь.
Нужно делать не курсор в зависимости от введенных символов в Text1, а поиск по курсору в зависимости от ввода символов в Text1 и в найденной фамилии ставить галку. А после того, как нажата кнопка сохранить делаешь как писал выше.
Т.е. изначально делаешь select с distinct из таблицы исполнителей и с полем для галки.
...
Рейтинг: 0 / 0
16.02.2012, 14:07
    #37665190
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
*******************************
* Text1  InteractiveChange
*******************************
SELECT cIspolnit
SELECT cIsp 
thisform.grid1.RecordSource=[]

lcText = UPPER(ALLTRIM(Thisform.Text1.Value))

*Перед тем как грохнуть курсор с галками cIsp  нужно перенести эти отметки в вышестоящий курсор-источник данных cIspolnit
*что-то типа, исходя из предположения, что sel - это галка, а tbn - это уникальный идентификатор 
UPDATE cIspolnit SET sel = .t. where tbn in (select tbn from cIsp where sel) 

IF EMPTY(lcText)
	SELECT * FROM cIspolnit INTO CURSOR cIsp READWRITE
	thisform.grid1.RecordSource=[cIsp]
	SELECT cIsp
	GO TOP 
ELSE 
	SELECT * FROM cIspolnit WHERE cIspolnit.fio = lcText INTO CURSOR cIsp2 READWRITE
	IF _tally=0
		MESSAGEBOX("В БД нет данной ФИО",64,"Сообщение")
		Thisform.Text1.Value = ""
		SELECT * FROM cIspolnit INTO CURSOR cIsp
		thisform.grid1.RecordSource=[cIsp]
		GO TOP 
	ELSE 	
		SELECT * FROM cIsp2 INTO CURSOR cIsp READWRITE 
		thisform.grid1.RecordSource=[cIsp]
		SELECT cIsp
	ENDIF 
ENDIF 
...
Рейтинг: 0 / 0
16.02.2012, 14:43
    #37665285
Allkay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обновление Check в Grid
Dag,

Dag, Благодарствую.
Вот то что мне было нужно
Код: sql
1.
*Перед тем как грохнуть курсор с галками cIsp 


Мне нужно было обновить cIsp? Только я не знал как?
Код: sql
1.
UPDATE cIspolnit SET sel = .t. where tbn in (select tbn from cIsp where sel) 


Проверил работает.
Всем спасибо за помощь!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Обновление Check в Grid / 14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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