Текущий архив: 2005.07.25;
Скачать: CL | DM;
Вниз
TClientDataSet - параметры полей Найти похожие ветки
← →
d_oleg (2005-06-15 11:35) [0]Пишу тонкого клиента с использованием TClientDataSet. Хочется сразу в пакете данных указать параметры полей (всякие displayname, displaywidth, visible, readonly). Кто-нибудь такую проблему решал? Ибо получилось заставить реагировать только на fieldname, как имя поля, которое отображается в DBGrid.
← →
Nikolay M. © (2005-06-15 11:51) [1]В событиях провайдера и CDS заполнять в обработчиках Before/AfterGetRecords сответственно OwnerData? В описании TRemoteEvent type есть небольшой пример.
← →
Romkin © (2005-06-15 11:59) [2]У провайдера есть опция poIncFieldProps. Причем когда она включена, свойства полей перекрывают свойства полей клиента.
← →
d_oleg (2005-06-15 12:04) [3]2 Nikolay M.: Нет никакого провайдера со стороны клиента. Готовый XML-документ присваимвается св-ву XMLData. Или имеется ввиду со стороны сервера? Тогда все равно не совсем понимаю, как это будет выглядеть в дата пакете.
← →
Nikolay M. © (2005-06-15 12:10) [4]Нет никакого провайдера со стороны клиента. Готовый XML-документ присваимвается св-ву XMLData.
Какие еще подробности ты сообщишь не в нулевом посте?
Откуда берется ХМЛ? Как он передается на клиента? Откуда берутся параметры для грида?
← →
d_oleg (2005-06-15 14:28) [5]Так, постараюсь объяснить подробнее, что я хочу:
Есть сервер данных. Он отдает XML. Произвольний.
К примеру:<USERS>
<USER>
<ID>1</ID>
<LOGIN>admin</LOGIN>
.....
</USER>
</USERS>
Сервер также должен отдавать файл трансформации (xtr) данного XML в борландовский DATAPACKET. Эти оба файла клиент получает по HTTP и скармливает их TXMLTransform, на выходе которого и получается DATAPACKET для TClientDataSet"a, который через TDataSource завязан с любым Data-контролом, ну пусть TDBGrid.
Вот. Это все работает, замечательно. Теперь хочется большего, а именно чтобы свойства полей в TClientDataSet формировались тоже на стороне сервера и были включены в файл трансформации. Я знаю, как задать тип поля и его размер (
<FIELD attrname="ID" fieldtype="i4"/>
<FIELD attrname="LOGIN" fieldtype="string" WIDTH="16"/>
)
знаю даже как можно задать название поля для отображения в заголовке DBGrid"a (cв-во DisplayName у TField) -<FIELD attrname="LOGIN" fieldtype="string" fieldname="логин" WIDTH="16"/>
Теперь хочется каким-нибудь образом проставить VISIBLE у оных полей (ну чтобы не отображать ID например), задать ширину колонки для текстовых полей.
Вопрос - как? Можно ли стандартными способами?
← →
Romkin © (2005-06-15 14:53) [6]Так явно... Хм... Разве что присоединить провайдер к cds, установить incFieldProps и заставить его отдать данные в xml :)
А там посмотреть, в каком виде идет...
А нельзя, чтобы сервер сразу отдавал datapacket?
← →
d_oleg © (2005-06-15 14:57) [7]//А нельзя, чтобы сервер сразу отдавал datapacket?
Не хотелось бы, есть желание иметь "чистый" XML с данными для пользования из-под другого клиента.
Так а разница-то в чем, чистый DATAPACKET или нет? Трансфорация-то практически любая пройдет, знать бы, как это в DATAPACKET"е выглядеть должно.
← →
Nikolay M. © (2005-06-15 15:11) [8]есть желание иметь "чистый" XML
Правильное желание.
http://www.scalabium.com/faq/dct0079.htm
http://www.interface.ru/fset.asp?Url=/borland/xdat.htm
← →
d_oleg © (2005-06-15 15:19) [9]2 Nikolay M.:
Спасибо за ссылки, но то, что там описывается, у меня уже работает. Если более ничего сделать нелюзя - жаль :(
← →
Nikolay M. © (2005-06-15 15:22) [10]Всегда можно передавать нужные параметры отдельно от данных и форматировать грид как душе угодно.
← →
d_oleg © (2005-06-15 15:31) [11]//Всегда можно передавать нужные параметры отдельно от данных и форматировать грид как душе угодно.
это конечно. хотелось стандартными средствами :-)
← →
Nikolay M. © (2005-06-15 15:42) [12]Если развивать тему, можно вообще весь интерфейс формировать на сервере. Форматирование грида - это половинчатое решение :)
← →
Nikolay M. © (2005-06-15 15:45) [13]Если развивать тему, можно вообще весь интерфейс формировать на сервере. Форматирование грида - это половинчатое решение :)
← →
d_oleg © (2005-06-15 15:51) [14]//Если развивать тему, можно вообще весь интерфейс формировать на сервере. Форматирование грида - это половинчатое решение
В-общем-то, так оно и работает... :-)
Страницы: 1 вся ветка
Текущий архив: 2005.07.25;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.025 c