Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Добрый день ALL. На Вашем форуме посоветовали для доступа к Sybase пользоваться компонентами господина Гаврилова (SaVCL). Cкажите, пожалуйста, как в этих компонентах реализовать Lookup и Calc поля или их аналог. Мне требуется реализовать в гриде выпадающий список. Заранее благодарен за ответы и советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 13:18 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Читайте письмо :) С уважением, Сергей Гаврилов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 14:18 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 15:06 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Пожалуйста... :) >Здравствуйте! > >Вы писали 28 марта 2005 г., 18:21:45: > >r> Добрый день. Недавно протестировал компоненты SaVcl. Они исключительно гибки и удобны - спасибо Вам, но Вы не могли бы поделится опытом: скажите, пожалуйста, там реально нет поддежки Lookup и Calc >r> полей?? Как же без этого можно обойтись при пользовании хотя бы того же DBLookupComboBox? > >Lookup-поля в том виде, в каком они реализованы в идеологии Делфи, >оправданы только для "плоских" таблиц (dbf, paradox и т.д.). Для >SQL-серверов, особенно работающих в сети, с точки зрения >производительности и пропускной способности lookup-поля абсолютно >противопоказаны, т.к. для них при каждом показе (выборке) строки должны >формироваться отдельные запросы. Для SQL-серверов НАМНОГО практичнее и >правильнее конструировать lookup-поля в самом запросе (выборка из >нескольких таблиц, связанных каким-либо образом по какому-либо >ключу), благо в сайбейсе для этого все есть. А в интерфейсе можно >использовать компоненты, которые в прямом виде могут формировать >выборки при необходимости изменить lookup-поле. Почти тоже самое >касается и вычисляемых полей. > >С уважением, Сергей Гаврилов. > ------------------END MAIL-------------------- Комментарий: При попытке создать lookup поле - показывается предупреждение следующего содержания: "Error - Supporting calculated and lookup fields is not implemented yet", которое я трактовал бы как: "вычисляемые поля и поля выбора не реализованы до настоящего времени" - это наводит на мысль скорее не о заботе производительности моей базы, а о нежелании довести дело до конца... Автор предлагает не заморачиваться, и не использовать выпадающие списки, хотя сам в демо-приложении "Учет СТО" демострирующий то ли все достоинства и возможности компонента, то ли незаурядную логику работы в 5-ти связанных таблицах - ИСПОЛЬЗУЕТ выпадающий список, да притом не безобидного поля - а целой справочной таблицы! Как реализовал - ума не приложу... Делится не хочет. Оно и понятно "Стоимость технической поддержки: Для физических лиц - 600р (оплата почтовым переводом). Для юридических лиц - 100$ (выписывается счет)." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 15:49 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
>Lookup-поля в том виде, в каком они реализованы в идеологии Делфи, оправданы только для "плоских" таблиц (dbf, paradox и т.д.). Это что, шутка? Или руки настолько кривые у разработчика? Я в шоке, ибо наоборот, список открывается в датасет 1 раз, потому просто линкуется - и все делов. У себя делал и то и другое - нет проблем с этим, не сложно это нисколько, запинывайте автора, если уже подписались на это дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 16:07 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
У себя - в смысле, у меня не SaVCL, а собственный коннект и Dataset пописанный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 16:08 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
P.S. Люди может я переработался, но если это не lookup, тогда как назвать это изваяние??? Автор божится что там их нет!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 16:47 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Ну налетели :) От своего мнения отступаться не буду. Никаких линковок на клинете делать не собираюсь и считаю их абсолютно лишними, коли их легко можно сделать на сервере. Компоненты изначально задумывались как "прямой доступ к sybase anywhere", а не что-нибудь, типа "компонент, сохраняющий свою функциональность при потере коннекта с базой и позволяющий продолжать делать сортировки, поиск, отложенный апдейт, переконнект к MSSQL и прочее". Sybase Anywhere сам по себе вполне функционален, чтоб еще что-то дополнительное реализовывать на клиенте. И вот демо-проект именно это и демонстрирует. С уважением, Сергей Гаврилов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 17:03 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Уважаемый Сергей. Я не собираюсь отрекать Вас от своих мнений и устоев. Каждый разработчик сам в плане определять что реализовывать. Это ваше право. Но будьте человеком - ответьте же мне наконец на вопрос, который я задаю Вам на протяжении всего дня - КАК мне сделать выпадающий список, используя Ваши компоненты прямого доступа SaVCL??? Я хочу добиться того же результата, что на картинке вашего демо-приложения по СТО - мне совершенно ничего не хочется знать про линковки, производительность и все остальное в том же ключе - в данном контексте это не столь важно как ЭТО!!! Вы мне скажите или нет??? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 17:32 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Выпадающий список - это не savcl, это совершенно другая библиотека интерфейсных компонентов, в которой: Нажали кнопочку или ввели символ - вызов обработчка события - автоматическая подготовка запроса - показ результата в выпадающем окошке - выбрали - значение занеслось в таблицу. Все это не имеет прямого отношения к SaVcl. Непосредственно SaVcl касается только один момент: если вы используете режим dsTable, то поля, которые выбраны не из основной таблицы, а из связанных справочников (по ключевому полю), необходимо в TSaDs прописать в TblNoUpdFields. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 18:19 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
А использовать Developer express grid ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 18:28 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Сергей. Проблема в том, что я не могу использовать с Вашими компонентами прямого доступа стандартные DBLookupComboBox и другие компоненты на основе свойства LookupDataSet. От них я не собираюсь отказываться... По этому я еще 10 раз подумаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 18:38 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Уважаемый MEr, при использовании Developer Express Grid необходимо указать LookupDataSet, а это действие вызовет ошибку см. выше (по поводу недоработки lookup полей) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 18:41 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
А есть ли более легкий выход из создавшийся ситуации ? Или господа знатоки только занимаются активно-противными продажами своих сырых библиотек... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 18:58 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
ragul2007 При попытке создать lookup поле - показывается предупреждение следующего содержания: "Error - Supporting calculated and lookup fields is not implemented yet", которое я трактовал бы как: "вычисляемые поля и поля выбора не реализованы до настоящего времени" - это наводит на мысль скорее не о заботе производительности моей базы, а о нежелании довести дело до конца... Автор предлагает не заморачиваться, и не использовать выпадающие списки, хотя сам в демо-приложении "Учет СТО" демострирующий то ли все достоинства и возможности компонента, то ли незаурядную логику работы в 5-ти связанных таблицах - ИСПОЛЬЗУЕТ выпадающий список, да притом не безобидного поля - а целой справочной таблицы! Как реализовал - ума не приложу... Делится не хочет. Так может надо приложить ум? :) Или пойти на форум про Дельфи. Для использования лукапных комбобоксов не нужны Lookup поля. ragul2007 P.S. Люди может я переработался, но если это не lookup, тогда как назвать это изваяние??? Автор божится что там их нет!!! http://www.ehlib.com/ Да и без этой библиотеки можно использовать DbLookupComboBox без лукапных полей. Сергей Гаврилов От своего мнения отступаться не буду И не надо ragul2007 Сергей. Проблема в том, что я не могу использовать с Вашими компонентами прямого доступа стандартные DBLookupComboBox и другие компоненты на основе свойства LookupDataSet. От них я не собираюсь отказываться... По этому я еще 10 раз подумаю... Учите матчасть (Delphi) и не засоряйте форум оффтопиками. Рекомендую копать в сторону TClientDataSet - поможет больше абстрагироваться и упростить дальнейшее масштабирование системы (например до трехуровневой). Имеет очень мощную функциональность. Но у меня есть великое подозрение, что и без промежуточных прослоек можно легко подключить DbLookupComboBox. Но лень проверять - мне же за это ничего не будет, а время потрачу ;) Вам вот, уважаемые, лень даже на форуме зарегистрироваться. MEr Или господа знатоки только занимаются активно-противными продажами своих сырых библиотек... Господин анонимус, эта библиотека тебе предлагается бесплатно и с исходными кодами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 19:09 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Все-таки не удержался и потратил личное время - а вдруг я не прав? Скачал SaVCL (раньше им не пользовался), создал новый проект, бросил на форму SaDb, подключил к базе, бросил SaDs1 + DataSource1 + DbGrid для основной таблицы и SaDs2 + DataSource2 + DbLookupCombobox для лукапа из справочной таблицы. Прописал свойства компонентов, скомпилял запустил и проверил. Ни строчки кода. Все компоненты кроме SaVcl стандартные. Результат приложен -- ___ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 20:04 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 20:09 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
to Александр Гoлдун. Александр, благодарю Вас за развернутый, обстоятельный ответ.))) Lookup такого вида я сделать в состоянии... Строчек в коде прибавится, поскольку ключевое значение не может изменить значение поля в наборе данных. Проверьте: измените значение поля в гриде, с помощью выпающего списка -> Post -> Refresh и наблюдаем прекраснейшую картину с Exception типа: "Сторока была изменена или удалена другим пользователем..." Здесь выход есть только перехватом KeyValue и ручного присваивания. А если бы вы прочитали бы внимательно вопрос, адресованный уважаемой аудитории, то обратили бы внимание, что lookup требовался в ГРИДЕ, а такой, на мой взгляд не сделать без полей lookup... может я не прав? переубедите. P.S. А Вам еще скажу, что автор в переписке подтвержает этот факт, и предлагает в догонку к своим компонетам доступа, разработанные на этот случай визуальные компоненты... не бесплатно разумеется) я ничего против оплаты трудов не имею... но какая-то странная стратегия выбивания денег получается))) И еще... То что я не зарегился - ничего постыдного в этом нет)) "Стыдно - когда видно." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 10:48 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Я все понял.... (как сказал Винни Пух) Это просто неправильный SYBASE и неправильный Delphi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 10:58 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Чего вы так к лукап полям привязались. На них свет клином сошелся, что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 16:39 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
ragul2007 wrote: > Lookup такого вида я сделать в состоянии... Ваши слова: >что я не могу использовать с Вашими компонентами прямого >доступа стандартные DBLookupComboBox >Строчек в коде прибавится, > поскольку ключевое значение не может изменить значение поля в наборе > данных. Проверьте: измените значение поля в гриде, с помощью выпающего Лень. > списка -> Post -> Refresh и наблюдаем прекраснейшую картину с Exception > типа: "Сторока была изменена или удалена другим пользователем..." Здесь > выход есть только перехватом KeyValue и ручного присваивания. Вообще не использую Edit-Post и т.п. на TTable-подобных компонентах, пишущих прямо в базу. И вам не советую. Вообще рекомендуюю осознать, что парадоксовая таблица и SQL-сервер - немного разные вещи. И если хочется выжать из SQL все по максимуму, то лучше пересмотреть подход. > А если бы вы прочитали бы внимательно вопрос, адресованный уважаемой > аудитории, то обратили бы внимание, что lookup требовался в ГРИДЕ, а > такой, на мой взгляд не сделать без полей lookup... может я не прав? > переубедите. Не прав. А переубеждать кого-то не вижу для себя смысла и не имею лишнего времени. > P.S. А Вам еще скажу, что автор в переписке подтвержает этот факт, и > предлагает в догонку к своим компонетам доступа, разработанные на этот > случай визуальные компоненты... не бесплатно разумеется) я ничего против > оплаты трудов не имею... но какая-то странная стратегия выбивания денег > получается))) Я давал ссылку и давал направление куда копать. Бесплатно. Последующие консультации - платно и дорого. Но развернуто, вплоть до написания софта за вас. Это тоже стратегия выбивания денег? Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 16:53 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
мда... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 17:04 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
А денег то скоко ??? может дешевше нанять мальчика который все сделает за меня и не будет говорить, что каждое слово стоит денег.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 18:58 |
|
||
|
saVcl (Как реализовать lookup и calc fields?)
|
|||
|---|---|---|---|
|
#18+
Ничего, если я встряну? Полностью согласен с автором SaVCL, lookup поля в таблицах при работе с SQL сервер абсолютно противопоказаны. Это уже не раз обсуждалось в различных группах новостей, достаточно сделать поиск где-нибудь на гугле. Применительно к стандартному DBGrid ничего сказать не могу, так как не юзаю, по многим причинам, а вот в DevExpress QuantumGrid lookup организовывается следующим образом - на колонку, в которой надо выводить lookup накладывается специальный эдитор, с закладки DBEditors, если не ошибаюсь то что-то вроде cxDBLookupCombobox. Соответственно, этот эдитор привязывается к своему собственному датасорсу (датасету), куда и загружаются подстановочные значения. В рантайм грид просто подменяет значение этой колонки на соответствующее ему значение из подстановочного датасета...На самом деле, лучше один раз увидеть, чем сто раз прочитать, поэтому советую глянуть в примеры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 21:52 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32987300&tid=2013753]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
2ms |
| others: | 221ms |
| total: | 408ms |

| 0 / 0 |
