|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, Ага! Я использовал прямой доступ к таблице и set filter, но мне сказали что это не правильно, правильно через курсоры. Вот я создал курсор в сорсе таблицы: SELECT pn, notdel, prof, fio, sym1, sym2, sym FROM zpl nofilt ORDER BY notdel, pn INTO CURSOR arEdit ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 10:58 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
читайте все, что найдете по слову курсорадаптер пример я выкладывал ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 11:05 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, Так мне что значит курсорадаптер в ДЕ надо создать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 11:10 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
Так читаю, а как в фоксе с гридом использовать ХЗ... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 11:14 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
там примеры для поиграться http://www.sql.ru/forum/actualthread.aspx?tid=666763&hl=%ea%f3%f0%f1%ee%f0%e0%e4%e0%ef%f2%e5%f0 авторТак мне что значит курсорадаптер в ДЕ надо создать? желаете проблем - да, займетесь созданием библиотек классов, создадите взаимосвязанные универсальные настраиваемые классы - проблем меньше + сократите трудозатраты на разработку своих проектов ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 11:21 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, Присваиваю рекордсорсу запрос с условием, так он мне browse - выводит( ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 11:56 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
авторрекордсорсу запрос с условием вначале давайте определимся: Вы будете работать с КАД или к гриду запрос пристраивать? вначале Вы ставили вопрос от том, что Вы желаете редактировать курсор и изменения сохранять назад в источники сейчас Вы вновь пытаетесь просто к гриду что-то прикрутить. что мы будем с Вами делать? просто курсор к гриду прикручивать? или создавать механизм с использованием КАД? мой мозг уже месяц плавится на этом форуме. я не могу понять: 1. набежали тролли и пудряд мозги? или 2. фокспро это удел студентов, женщин и детей? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:02 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, 2-й пункт лучше! _) Так а я разве не с курсором работаю?: thisform.grid1.RecordSource="SELECT pn, notdel, prof, fio, sym, sym1, sym2 FROM zpl nofilt order by notdel, pn into CURSOR arSork" Вроде курсор!? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:05 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
гы, все, я убьюсь о стол - нафик, нафик ... все, без меня, я ушел, почти совсем. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:08 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, Стой поясни!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:09 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
авторСтой поясни!!! чего пояснять? я не понимаю Вас, что Вы хотите. + оч. все похоже на "развод": Вы или просто не желаете понимать или просто все делаете специально - понять умом Ваши посты невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:11 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, :-) Есть таблица zpl В ней отделы работники должности и тд и тп. Необходимо: передать данные в курсор, из курсора в таблицу. Далее с курсором использовать фильтр через комбобокс. Редактирую данные в таблице, после чего мне нужно сохранить изменения в таблице zpl Всё. Я понимаю как работает из таблицы данные уходят в курсор, там я с ними работаю, меняю, то сё. После чего данные переписываються обратно в таблицу. Но как это в VFP сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:19 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
авторНо как это в VFP сделать? курсорадаптер если Вы работаете с КАД, то не нужно в грид прописывать запрос, запрос прописывается в св-во объекта-КАДа. примеры я показал, что еще необходимо? для того, чтобы понять как работать с КАД нужно посмотреть пример и немного почитать, затем самому поиграться и применить полученный опыт в своей разработке. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:28 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, Какой пример? То что ссылку дал. так там каша какая то! Ты напиши как курсор создать и заполнить из таблицы! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 12:34 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
авторТо что ссылку дал. так там каша какая то! идем по ссылке в конец топика и ищем К сообщению приложен файл (nativ.zip - 6Kb) cкачать ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 13:36 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, Посмотрел, и что? Там только кусочки для меня бессмысленного кода! oCad = createobject('myCAD') if vartype(oCad)='O' oForm = createobject('myForm',oCad) oForm.show(1) else messagebox('Ошибка при инициализации КА') endif Это курсор? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 14:15 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
К. АлександрПосмотрел, и что? Там только кусочки для меня бессмысленного кода! oCad = createobject('myCAD') if vartype(oCad)='O' oForm = createobject('myForm',oCad) oForm.show(1) else messagebox('Ошибка при инициализации КА') endif Это курсор? ЫЫЫ. Уж на что я, мягко говоря, далеко не гуру, но 1) К. Александр, КЕАЬбЫЕААбЫЕАЦ 2) Прошелмимо, преклоняюсь перед Вашим терпением (в контексте не только этой, но и пары-тройки недавно появившихся тем). 3) /me ищет в рюкзаке кислотные стрелы и свиток огненного меча ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 14:46 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
авторТам только кусочки для меня бессмысленного кода! фокспро - это среда визуальной разработки. Основное примущ-во фокспро - это прекрасный дизайнер для визуальной разработки классов. на основе разработанных классов можно легко, быстро, с минимальными трудозатратами разрабатывать приложения. Приложения можно делать быстро, а руками бить мало. Но для этого нужно начать понимать и знать приемы и способы разработки классов, а также знать и понимать способы их применения в своих приложениях (каким образом и когда ....) авторoCad = createobject('myCAD') этой командой поднимается(создается) объект на основании класса, который заранее создан и настроен в визуальной библиотеке. Класс myCAD пронаследован от базового класса, создан, настроен и затем сохранен в библиотеке визуальных классов. Это класс-посредник - который забирает выборки и сохраняет назад в источники изменения (умеющий это делать, созданный разработчиками фокспро, наделенный многими возможностями, а мы его наделяем своими свойствами, какими? нужно посмотреть и почитать, для чего нужны эти св-ва) Именно такой стиль (визуальный) разработки дает преимущ-ва в фокспро - быстро разрабатываем - удобно сопровождать. Далее Код: plaintext
в виз-й библиотеке ранее разработали класс myForm, командой поднимаем объект и ему передаем объект-КАд, который будет все знать и сам работать с источником ... ну и т.д. и т.п. .... авторТам только кусочки для меня бессмысленного кода! вопрос: а к какому стилю разработки(приемам, способам) приучены Вы (известны Вам) и Вы используете? ок., Вы упоминули про ДЕ формы и т.д., стандартное решение - это положить кад в ДЕ и настроить его билдером, есть много примеров, но необходимо так-же немного почитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 15:01 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
прошелмимо, 1. Вопрос назрел! А зачем ты его создаёшь в программе? если ты его уже создал. аномалия. 2. Как всё таки курсор создать? И использовать его в гриде ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 15:58 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
К. АлександрЯ использовал прямой доступ к таблице и set filter, но мне сказали что это не правильно, правильно через курсоры. Вот я создал курсор в сорсе таблицы: SELECT pn, notdel, prof, fio, sym1, sym2, sym FROM zpl nofilt ORDER BY notdel, pn INTO CURSOR arEdit Поскольку разговор пошел "лесом" (вы с прошелмимо говорите о разных вещах, поэтому друг друга не понимате), то попробую вернуться к исходной постановке задачи. Использование SET FILTER и прямое редактирование таблиц-источников не то, чтобы не правильно, просто это решение, которое очень сильно ограничивает разработчика. Обычно SET FILTER используют как "сиюминутное" решение, лишь бы заткнуть проблему. Если всеръез заниматься некогда. Чтобы получить бОльший простор для маневра и используемых инструментов действительно, лучше вместо SET FILTER делать выборку из таблицы. Правда, здесь следует оговорится, что в этой выборке должно быть как можно меньше записей. Не следует в результирующую выборку перегонять всю таблицу-источник, как это сделали вы в данном примере. Это просто бессмысленно. Другими словами, использовать в качестве источника данных выборку (курсор) имеет смысл тогда, когда, во-первых, есть условие WHERE и, во-вторых, по этому условию отсекается бОльшая часть записей. Желательно, чтобы в результирующей выборке оказалось не более нескольких сотен записей. Grid . В качестве источника данных Grid может выступать только и исключительно таблица. Или курсор, как временная таблица. По умолчанию, в качестве типа источника данных Grid.RecordSourceType указывается Alias . Тут следует уточнить, что алиас - это вообще не таблица и не курсор. Это некий псевдоним (идентификатор) рабочей области . Некоего "пространства", где "живет" определенный "набор данных". В рабочей области может быть открыта как собственно таблица (файл DBF), так и курсор. Т.е. вообще-то, вы могли сделать следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
При настройке по умолчанию Grid.RecordSourceType = 1 (Alias) это и будет означать указание в качестве источника данных Grid - курсора. Ведь под именем алиаса "zpl" скрывается как раз курсор. Остальные значения настройки Grid.RecordSourceType предназначены для того, чтобы указать некие объекты, из которых FoxPro сам, автоматически, сможет сформировать эти самые курсоры. В частности, то, что использовали вы, указав Grid.RecordSourceType = 4 (SQL Statement) означает, что для формирования курсора надо выполнить команду, записанную в свойстве Grid.RecordSource. Однако лучше все-таки оставить настройку Grid.RecordSourceType в значении по умолчанию и "подсовывать" Grid в качестве источника нужные алиасы. Откуда вы можете подсунуть эти самые алиасы? Ну, вы можете просто вручную его написать, если будете твердо уверены, что к моменту инициализации Grid этот алиас будет существовать. А откуда возьмется эта уверенность? Ну, от того, как именно вы напишите программу. От вашей дисциплинированности. Зависимость от вашей дисциплинированности несколько уменьшает использование DataEnvironment. Если таблица включена в DataEnvironment, то при выборе Grid.RecordSource в раскрывающемся списке будут отображены все алиасы, под которыми будут работать эти таблицы. Причем, в режиме "по умолчанию" вам гарантируется тот факт, что соответствующий алиас будет существовать к моменту инициализации Grid. А можно ли включить в DataEnvironment не таблицу, а некую выборку из нее? Можно. Но не любую выборку, а такую выборку, которая была "вложена" в некий специфический объект FoxPro. Ведь в DataEnvironment вы добавляете некие объекты. Что именно? Во-первых, это может быть Local View. Это выборка (курсор), но уже "обернутая" в некую "оболочку". С ней можно работать как с обычной таблицей. Создается Local View в контейнере базы данных в окне проекта внутри ветки контейнера базы данных после Tables идут как раз Local View. Несмотря на всю не любовь прошелмимо к этим объектам, как к устаревшим, я все-таки рекомендовал бы начать обучение именно с них. Они очень удобны именно в качестве инструмента для обучения. Там все просто и наглядно. А вот когда с ними разберетесь, переходите к классам CursorAdapter. Классы CursorAdapter - это то самое, во-вторых, которое также можно указать в DataEnvironment. Правда специфическим способом. Через пункт меню Builder выпадающего меню. Ну, а о собственно классе CursorAdapter вас уже прошелмимо просветит... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 16:00 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
ВладимирМ, SELECT pn, notdel, prof, fio, sym1, sym2, sym ; FROM zpl nofilt ; ORDER BY notdel, pn ; INTO CURSOR arEdit thisform.grid1.RecordSource="arEdit" И вот это: CREATE CURSOR arEdit (pn i(4), notdel c(10), fio c(25), prof c(254), sym1 n(10), sym2 n(10), sym n(10)) INSERT INTO arEdit (pn, notdel, fio, prof, sym1, sym2, sym); SELECT pn, notdel, fio, prof, sym1, sym2, sym FROM zpl ORDER BY notdel, pn thisform.grid1.RecordSource="arEdit" Одно и то же? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 16:12 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
автор1. Вопрос назрел! А зачем ты его создаёшь в программе? если ты его уже создал. аномалия. аномалия, гы, магнитная .... в коде, какой-то последовательности команд создаются объекты, объекты создаются на основании предсозданных в библиотеке классов автор2. Как всё таки курсор создать? И использовать его в гриде курсор создается в самом классе курсорадаптере - там есть определенные настройки и методы . Эти настройки и вызов определенных методов настраиваем визуально в библиотеке визуальных классов. Для этого есть визуальный дизайнер классов. В примере все показано как создается курсор и как его использовать. Вам необходимо по-очереди рассмотреть все объекты в менеджере проекта. + Достаточно включить отладчик и пройти по шагам весь код. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 16:13 |
|
Нумерация в отчёте
|
|||
---|---|---|---|
#18+
авторОдно и то же? нет авторSELECT pn, notdel, prof, fio, sym1, sym2, sym ; FROM zpl nofilt ; ORDER BY notdel, pn ; INTO CURSOR arEdit thisform.grid1.RecordSource="arEdit" фокспро делает следующие действия: 1. из источника zpl отбирает поля и упорядочивает опред.образом во временный нередактируемый курсор arEdit 2. далее гриду Вы указываете, что отображать он будет данные из курсора "arEdit" авторCREATE CURSOR arEdit (pn i(4), notdel c(10), fio c(25), prof c(254), sym1 n(10), sym2 n(10), sym n(10)) INSERT INTO arEdit (pn, notdel, fio, prof, sym1, sym2, sym); SELECT pn, notdel, fio, prof, sym1, sym2, sym FROM zpl ORDER BY notdel, pn thisform.grid1.RecordSource="arEdit" фокспро делает следующие действия: 1. создает пустой редактируемый курсор arEdit 2. заполняете курсор arEdit упорядоченными данными из zpl 3. далее гриду Вы указываете, что отображать он будет данные из курсора "arEdit" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2009, 16:24 |
|
|
start [/forum/topic.php?fid=41&startmsg=36037098&tid=1586332]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 323ms |
total: | 460ms |
0 / 0 |