|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Д.день. Поставлена задача: Есть грид при клике по заголовку колонки нужно получить список уникальных значений этой колонки. А при клике по любому из этих уникальных вернуться в форму с выбором по этому выбранному значению. Все это должно быть сделано программным кодом. Пожалуйста помогите)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 13:21 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
ребята 29 просмотров. неужели никто ничего посоветовать не может???? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 16:15 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Юлия121212ребята 29 просмотров. неужели никто ничего посоветовать не может????Можем. Рисуете грид, в методе Click() заголовка колонки прописываете вызов вашей процедуры, которая и делает нужные вам действия. Достаточно? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 16:24 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Есть разница между "помогите" и "сделайте за меня". В первом случае автор показывает что сделал и спрашивает как быть дальше. Тут вижу второй случай, но и с ним могут помочь, но надо озвучить сумму вознаграждения ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 16:46 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Не совсем понятна задача. Вывод списка нужен для поиска, движения по базе данных или копирования имеющейся в БД информации в другую запись и др. ? Посмотрите мои варианты. Может быть какой-то подойдет. Тогда вышлю формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2017, 21:58 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Пожалуйста, подскажите как правильно прописать при ручном создании grida grid1.column1.text1.click. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 12:35 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Юлия121212Пожалуйста, подскажите как правильно прописать при ручном создании grida grid1.column1.text1.click. Посмотрите сначала предложенные вам от bif17 решения, может быть сразу и подберете себе что-то подходящее. Возможно, это лучшее, что вам смогут предложить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 13:08 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
sg12, скачала там три фото. ничего понять не могу ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 13:16 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Юлия121212sg12, скачала там три фото. ничего понять не могу Он же предложил вам формы, надо быть внимательнее. К тому же и задача вами сформулирована довольно туманно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 13:29 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Юлия121212Д.день. Поставлена задача: Есть грид при клике по заголовку колонки нужно получить список уникальных значений этой колонки. А при клике по любому из этих уникальных вернуться в форму с выбором по этому выбранному значению. Все это должно быть сделано программным кодом. Пожалуйста помогите)) Осваиваете SQL-команду SELECT ..., у ней есть опция DISTINCT. Результат вам лучше вывести в таблицу, так вам понятней будет. Открыть эту таблицу лучше ListBox-ом, где выбираете нужное значение и запоминаете его в свойстве формы. Это значение используете для наложения фильтра на первую таблицу SET FILTER ..., результат увидите в Grid-е. Не забудьте перед обновлением формы перейти на другую строку в таблице SKIP -1. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 18:59 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Во втором варианте из основной формы вызывается дополнительная со списком нужного поля: &&THISFORM.Command1.Click() На появившейся форме делается выбор элемента, &&cPER='' && ПЕРЕМЕННАЯ ДЛЯ ВОЗВРАТА Далее он используется в нужных вам целях. В примере просто для копирования в новую запись. ************************* IF ALIAS()!='EST' SELECT EST ENDIF ************************* SET INDEX TO SET FILTER TO INDEX ON UPPER(ALLTRIM(NAZV_OB)) TO NAZV_OB9 FOR !EMPTY(NAZV_OB).AND.N_BS_KZ=mN_BS_KZ UNIQUE COMPACT SET INDEX TO NAZV_OB9 SET DELETED ON LOCAL mSET_FILTER mSET_FILTER="" LOCAL mFILTER_VIBOR mFILTER_VIBOR="" LOCAL mOTDEL_L_PR,mKLASS_L_PR,mPORJAD_L_PR,mFAM_L_PR,mR_L_PR STORE SPACE(0) TO mOTDEL_L_PR,mKLASS_L_PR,mPORJAD_L_PR,mFAM_L_PR,mR_L_PR LOCAL nZAPISI nZAPISI=RECNO() mSET_FILTER=SET("Filter") &&************************* &&************************* *!* mFILTER_VIBOR=mFILTER_VIBOR+IIF(EMPTY(m.OTDEL_L),'',".AND.UPPER(ALLTRIM(DIV))= UPPER(ALLTRIM(m.OTDEL_L))") *!* mFILTER_VIBOR=mFILTER_VIBOR+IIF(EMPTY(m.KLASS_L),'',".AND.UPPER(ALLTRIM(CLASS))= UPPER(ALLTRIM(m.KLASS_L))") *!* mFILTER_VIBOR=mFILTER_VIBOR+IIF(EMPTY(m.PORJAD_L),'',".AND.UPPER(ALLTRIM(ORDER))= UPPER(ALLTRIM(m.PORJAD_L))") *!* mFILTER_VIBOR=mFILTER_VIBOR+IIF(EMPTY(m.FAM_L),'',".AND.UPPER(ALLTRIM(FAMILY))= UPPER(ALLTRIM(m.FAM_L))") mFILTER_VIBOR=mFILTER_VIBOR+".AND.!EMPTY(NAZV_OB)" mFILTER_VIBOR=SUBSTR(mFILTER_VIBOR,6) &&*************************END - !EMPTY(NAZV_OB) &&************************* SET FILTER TO &mFILTER_VIBOR GO TOP &&**************************************************** &&****************************************************ПРОВЕРКА НАЛИЧИЯ ЗАПИСЕЙ PUBLIC mALL mALL=1 COUNT ALL TO mALL IF mALL=0 MESSAGEBOX("НЕТ ИНФОРМАЦИИ. !",16,"Внимание !",3000) RELEASE mALL SELECT EST SET INDEX TO SET FILTER TO &mSET_FILTER LOCATE FOR RECNO()=nZAPISI RETURN ENDIF RELEASE mALL GO TOP &&****************************************************КОНЕЦ ПРОВЕРКИ cPER='' && ПЕРЕМЕННАЯ ДЛЯ ВОЗВРАТА cFIELDS_BD='' && ПЕРЕМЕННАЯ BD STORE "NAZV_OB" TO cFIELDS_BD &&МЕНЯЮТСЯ ПОЛЯ БД &&**************************************************** &&****************************************************КОЛЛЕКЦИЯ oCol9=CREATEOBJECT("collection") SCAN FOR !EMPTY(&cFIELDS_BD) oCol9.ADD(ALLTRIM(&cFIELDS_BD)) ENDSCAN &&**************************************************** LOCAL cPUTFORM cPUTFORM=PUTFORMS+"FORM_LIST9.scx" IF FILE(cPUTFORM) &&**************************** THISFORM.ALWAYSONTOP=.F. THISFORM.SETALL('ENABLED',.F.) &&**************************** N8=-15 mNZ=IN z6=1 zz7=1 &&**************************** DO FORM (JUSTPATH(cPUTFORM)+"\"+JUSTFNAME(cPUTFORM)) WITH ; oCol9, cPER,"СПИСОК ЗЕЛЕНЫХ УСТРОЙСТВ", "RGB(198,198,158)", .T., "RGB(0,0,0)", "RGB(255,255,255)", .F., .F., 1 ENDIF IF !EMPTY(cPER) LOCATE FOR ALLTRIM(UPPER(NAZV_OB))=ALLTRIM(UPPER(cPER)) IF FOUND() m.NAZV_OB=NAZV_OB ELSE MESSAGEBOX("НЕ НАЙДЕНО. ПОВТОРИТЕ ВЫБОР !",16,"Внимание !",3000) SELECT EST SET INDEX TO SET FILTER TO &mSET_FILTER LOCATE FOR RECNO()=nZAPISI &&******************* RETURN ENDIF SELECT EST SET INDEX TO SET FILTER TO &mSET_FILTER LOCATE FOR RECNO()=nZAPISI ELSE SELECT EST SET INDEX TO SET FILTER TO &mSET_FILTER LOCATE FOR RECNO()=nZAPISI ENDIF &&******************************************** THISFORM.REFRESH() ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2017, 21:31 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
у меня вот такой программный код, который я открываю при двойном клике по заголовку колонки грид. У меня в новую форму и новый грид идет отбор уникальных значений PUBLIC m_tn, M_god_r SELECT tn DISTINCT FROM table1 INTO CURSOR unik m_tn=unik.tn PUBLIC oform1 oform1=NEWOBJECT("form1") oform1.Show RETURN DEFINE CLASS form1 AS form DataSession = 1 Desktop = .T. ShowWindow = 0 DoCreate = .T. AutoCenter = .T. BorderStyle = 3 Caption = "Форма выбора" WindowType = 0 WindowState = 0 Name = "FORM1" ADD OBJECT grid1 AS grid WITH ; ColumnCount = 1, ; ColumnWidths = "200", ; Left = 23, ; Sorted = .T., ; Style = 2, ; Top = 20, ; Width = 200, ; Name = "grid1" PROCEDURE grid1.Init WITH This .column1.header1.Caption='Выбор' .column1.width=200 ENDWITH ENDPROC ENDDEFINE SELECT ADD OBJECT txt as grid1.column1.text1 with column1.text1=m_tn m_tn=table1.tn PROCEDURE txt.Click ThisForm.release ENDPROC ENDPROC Т.е. есть колонка со значениями 1,2,2,3,3,3,4 она в новый грид передает уникальные 1,2,3,4. Теперь по клику по любому уникальному (например 2) мне нужно вернуться в первый грид где получить все эти значения (т.е. 2,2) Вот этот обратный переход у меня и не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 10:21 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
там после ENDDEFINE не нужный пока код ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 10:23 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Как из модальной формы вернуть несколько значений Как из модальной формы, открытой через Show(1) вернуть значение ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 10:38 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Юлия121212 Во второй форме для выбора значений лучше использовать ListBox, а не Grid. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 11:08 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Как же сделать обратный переход. Не могу понять как написать клик к ListBoxsg12, ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 11:38 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Юлия121212Как же сделать обратный переход. Не могу понять как написать клик к ListBoxsg12, Форма должна быть модальной. Если форма - это файл SCX, то свойство WindowType = 1. В этом случае то, что вернет return в методе Unload этой формы можно будет прочитать. Только здесь следует учитывать тот факт, что на момент выполнения метода Unload объектов формы уже не существует. Есть только сама форма и ее свойства Если запуск через CreateObject() или NewObject(), то вызов метода Show() с параметром 1. В этом случае чтение возвращенных параметров выполняется особым образом. Как именно, смотри по приведенной выше ссылке ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 11:49 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Юлия121212Как же сделать обратный переход. Не могу понять как написать клик к ListBoxsg12, В объектах кроме Click есть и другие методы. Попробуйте в InteractiveChange запомнить выбранное значение в свойстве формы, откуда его и вернете через UNLOAD. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 12:09 |
|
создание формы с grid програмным кодом
|
|||
---|---|---|---|
#18+
Для множественного выбора я использую другую форму. В том случае, когда поле БД имеет несколько значений. Но возвращаемую переменную тоже можно по-разному обработать. Всего скорее у меня несколько отличные от ваших задачи программы. Решений всегда бывает несколько. Самое главное, чтобы безотказно работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2017, 21:24 |
|
|
start [/forum/topic.php?fid=41&fpage=15&tid=1581960]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 140ms |
0 / 0 |