Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Использование DevExpress

Автор: vadson6666
Дата сообщения: 20.01.2006 14:55

Цитата:
Всем драсьте!
У меня возникла проблема - при каждой смене сортировки нужно выделять 1-ю строку в гриде(XtraGrid). Может кто сможет чего посоветовать.


Не знаю как в Экстра гриде, а в обычном TCXGrid я выставлял свойство у вьюхи примерно так:

with TcxGridDBBandedTableView(AView) do
begin
DataController.DataSource := aDataSource;
---------------------------------------------------------
DataController.Options := DataController.Options + [dcoFocusTopRowAfterSorting];
end;

Может что-то похожее есть и у XtraGrid...
Автор: sasku
Дата сообщения: 20.01.2006 23:41
fr00m

Цитата:
Скорее всего (если предположить, что компоненты на форму положены нормально и все элайны выставлены нормально), разные настройки стилей или различные настройки размера шрифта в системе. Лично я это побеждал тем, что высоту формы делал чуть больше, чем надо (не самый правильный, наверное, выход).

кривой выход, пока я так и поступаю, хотя хотелось бы получше поступить

Цитата:

А дергание по идее можно убрать, выставив Style.HotTrack в false.

уже стоит - не помогает
Автор: valmont
Дата сообщения: 21.01.2006 08:04
ПРивет!

ребята, подскажите как в cxdbimage заргузить картинку нормально (программно), я делаю, но когда кликаю то она исчезает и в поле таблицы не записывается... таблица парадокс.

пасибо
Автор: gpi
Дата сообщения: 21.01.2006 11:11
valmont
Загружать изображение нужно не в cxdbimage, а в поле таблицы, содержащее изображение
Код: Table1.Edit;
Table1Graphic.LoadFromFile('C:\image.bmp');
Table1.Post;
Автор: valmont
Дата сообщения: 21.01.2006 15:59
gpi
забыл сказать перед загрузкой, т.е. выбрал катринку (jpeg), я ее обрабатываю.. уменьшая в размере.. потом нужно отобразить в cxdbimage а потом уже сохранить в базе.. ну там еще проверяются условия разные...
Автор: gpi
Дата сообщения: 21.01.2006 17:16
valmont
Ну так не делай Table1.Post, пока не сделаешь проверки. Изображение в cxdbimage меняется после Table1Graphic.LoadFromFile('C:\image.bmp'). Для отката делай Table1.Cancel
Автор: pau70
Дата сообщения: 22.01.2006 11:19
Всем привет.
Подскажите почему "cxHintStyleController" не работает с "dxBarLargeButton" размещенных на "dxBar".
Автор: korobovmax
Дата сообщения: 22.01.2006 16:04
Как можно сделать "частичный" ручной ввод даты аналогично тому, как это сделано в cxTimeEdit? Я имею ввиду то, что при редактировании, например, дня месяца не стиралась бы последующая часть даты, а только переходил фокус к ней. Вот у TimeEdit'а так сделано - ввод часов (без стирания минут), а потом - ввод минут. Как сделать такое же для даты?

Спасибо.
Автор: Basil77
Дата сообщения: 22.01.2006 16:34
Добрый вечер всем!
Вопрос такой.
Есть квантум грид 5, одно из полей - лукап дб комбо бокс, в нем несколько полей (столбцов). Грид моде включен.
Нужно, чтобы в момент, когда юзер выбирает какое-либо значение из этого списка, можно было обратится к остальным полям лукап бокса, и получить их значения.
Если KeyField этого лукапа не содержит повторяющихся значений, то все нормально, а если содержит, то всегда возвращается только первая запись. Хотя в лукап списке эта строка фокус получает.
Заранее спасибо.
Автор: xax
Дата сообщения: 23.01.2006 13:20

Цитата:
with TcxGridDBBandedTableView(AView) do
begin
DataController.DataSource := aDataSource;
---------------------------------------------------------
DataController.Options := DataController.Options + [dcoFocusTopRowAfterSorting];
end;


Спасибо, но ничего похожего найти не смог
Автор: RaVeX
Дата сообщения: 24.01.2006 06:13

Цитата:
Tualan
В данном случае автоматически добавиться запись не может, т.к. записи нужно присвоить значение ключевых полей. Нужно просто сделать кнопку для добавления новой записи, и добавление реализовать ручками.


А вот и нет ... Есть такое свойство gridView1.OptionsDetail.AllowExpandEmptyDetails, которое и позволяет реализовать то, что мне надо
Автор: Alex47
Дата сообщения: 24.01.2006 12:13
xax

Цитата:
Спасибо, но ничего похожего найти не смог


Для QGrid можно использовать обработчик

View.DataController.OnSortingChanged:

TcxGridDBTableView(cxGrid1.FocusedView).DataController.GotoFirst;

Добавлено:
Basil77

Алгоритм выбора строки из lookup вчерне такой. Сначала из Grid lookup (там есть свой Grid) выбирается строка. А потом на основании данных этой строки по KeyField ищется строка в lookup dataset. Если значение ключегого поля не уникально, то всегда будет выбираться первая из возможных строка из lookup dataset. Следовательно, надо избавиться от неоднозначности в значениях KeyField
Автор: Basil77
Дата сообщения: 24.01.2006 14:05

Цитата:
надо избавиться от неоднозначности в значениях KeyField


Спасибо. Сам тоже так думал... хотя жаль конечно...
Автор: xokc
Дата сообщения: 24.01.2006 20:01
korobovmax

Цитата:
Как можно сделать "частичный" ручной ввод даты аналогично тому, как это сделано в cxTimeEdit? Я имею ввиду то, что при редактировании, например, дня месяца не стиралась бы последующая часть даты, а только переходил фокус к ней. Вот у TimeEdit'а так сделано - ввод часов (без стирания минут), а потом - ввод минут. Как сделать такое же для даты?

Используй TcxMaskEdit с маской типа Standart и InputMask подобным !99/99/00;1;_
Автор: korobovmax
Дата сообщения: 24.01.2006 20:45
xokc, хороший способ, рабочий. Единственный не очень хороший момент - хорошо бы показывать календарик пользователю, если он тыкнет в кнопочку на правом краю редактора.

Добавлено:
Ну конечно! Достаточно просто поменять Properties.InputKind с ikRegExpr на ikMask - там в итоге после кучи действий получается такая же маске.

Спасибо огромное, xokc.
Автор: Alex1978
Дата сообщения: 25.01.2006 07:49
Блин, все что смог прочитал, у кого мог спросил. Вынужден спросить еще раз.

Можно ли как-то в cxTreeList сделать колонку типа CheckBox c текстовым значением?
Автор: korobovmax
Дата сообщения: 25.01.2006 10:30
Alex1978, откройте пример "..\ExpressQuantumTreeList 4\Demos\Delphi\SimpleTreeDemo".
В последняя колонке cxDBTreeListVACANCY отображаются в виде CheckBox. Вам необходимо у колонки указать Properties = "CheckBox".
Далее, если Вы говорите о текстовом значении, как строчки, которые надо показывать в зависимости от состояния CheckBox, тогда укажите необходимые Вам DisplayChecked и DisplayUnchecked (и DisplayGrayed).
Если Вы под текстовым значением подразумеваете запись и чтение текста как основу для состояния CheckBox, тогда установите ValueChecked (и т.д.) тип - String, и Ваши строки как сами значения.
Автор: Alex47
Дата сообщения: 25.01.2006 11:06
minkus

Цитата:
Есть связка Master/Detail в cxGrid-e в Detail-e есть Summary, нужнл при изменение итога по Detail изменить соответственно и запись в Mastere. Как правилно ето сделать оставаясь в Detail-e

Если речь идет о изменении одного из полей MasterRecord, оставаясь в DetailView, то работает такой вариант.

1. Из подходящего обработчика DetailView послать сообщение:
PostMessage(Handle,CM_POST, 0, 0);
2. Код сообщения в mplementation:
procedure TMYForm.CMPOST(var Msg: TMessage);
begin
THackCustomGridTableItem(cxGrid1DBTableView1UpdateColumn).SetEditValue(NewValue);
end; // NewValue - новое значение изменяемого поля MasterRecord
// cxGrid1DBTableView1UpdateColumn - колонка MasterView, поле которой меняем
3. Дополнительно:
unit
interface

uses
...
const
CM_POST = WM_USER + 1111;

type
TMYForm = class(TForm)
...
private
procedure CMPOST(var Msg: TMessage); message CM_POST;
end;
THackCustomGridTableItem = class(TcxCustomGridTableItem);
implementation
....
Автор: samusev
Дата сообщения: 25.01.2006 13:58
Доброго дня всем!

Кто использовал Scheduler 2 ДевЭкспресовский совместно в EasyTable? возникают непонятные глюки. События создаются и с ними можно делать все в пределах одной сессии работы с программой. После выхода и повторного запуска - события не редактируются, не удаляются (((

есть решение?

И еще... Есть Grid на отфильтрованную Таблицу (которая содержит например 5 отвечающих фильру записей)

При занесении записи (из внешней формы) с параметрами отвечающих фильру, - грид сворачиваетс строки и показывает тока 1(первую)
Или при редактировании значения поля в gridе для 1-ой строки - значения сохраняются и строка остается, для других строк - строка пропадает (редактор с введенным значением остается). Обновляю фильтр ( вызов SetFilter) - все строки показываются! Вот такая неразбериха. Может какое свойство в гриде выставить. Их так много - все не успел еще усвоить...
Автор: korobovmax
Дата сообщения: 25.01.2006 22:13
samusev, когда только появился Шедулер, мы пытылись устранить многочисленные баги в связке шедулер-иситэйбл. Но ни своими силами, ни силами шедулера 2 и иситэйбл 6 так и не получилось - мы просто пересели на АбсолютДБ и проблемы как ветром сдуло
Автор: Alex1978
Дата сообщения: 26.01.2006 07:33
korobovmax

Нет имелось в виду колонка типа CheckBox (как сделать знаю) с текстом.
т.е.
-Сотрудники
- + Иванов
- - Петров

и т.д. Вобщем использование переключателя с текстом (как в демке с оффсайта).

Т.е. не фамилии и дополнительную колонку CheckBox а совместно.
Автор: Arjuna
Дата сообщения: 27.01.2006 18:38
Народ, подскажите пожалуйста, что лучше юзать из DBGrid.

Как вам Berg.NextSuite?

Или лучше DevExpress? Просто DevExpress не юзал, так как много весит (не могу пока позволить скачать)...

Или есть еще лучше Гриды?
Автор: Alex1978
Дата сообщения: 27.01.2006 19:11
Arjuna
Лучше нет IMHO. Но ты прав - тяжеловес.
Автор: korobovmax
Дата сообщения: 30.01.2006 00:41
Alex1978, я пока не понял, как они это сделали.
Ниже ссылка, где можно найти "альтернативное" решение данной задачи:
_http://www.devexpress.com/Support/KnowledgeBase/ShowArticle.xml?kbid=A1065&kbss=&prod=X9&tech=X2
Автор: Vitus_Bering
Дата сообщения: 30.01.2006 14:07
Arjuna
Лучше и удобнее чем DevExpress, не встречал. Качай, разбирайся, не пожалеешь.
Автор: sasku
Дата сообщения: 01.02.2006 11:38
Vitus_Bering

Цитата:
учше и удобнее чем DevExpress, не встречал.

но меееедленный, хотя и сам пользуюсь.
Автор: fr00m
Дата сообщения: 01.02.2006 11:53
sasku
Это в чем это он медленный? Со всеми его фичами он работает быстро и даже очень... Со стилями если особо не мудрить.
Автор: samusev
Дата сообщения: 01.02.2006 15:06
korobovmax


Цитата:
мы просто пересели на АбсолютДБ и проблемы как ветром сдуло


Я в принципе начинал с Абсолюта, но что-то у них так много багов было в ранних версиях. Изи - показался надежнее.

Спасиб - придется попробывать.
Автор: OXDBA
Дата сообщения: 01.02.2006 15:23
Доброго времени суток!
Кто знает, можно ли в мастере фильтра cxGrid'а, сделать выбор значения для обычного поля из выпадающего списка (как для LookUp полей)?
Автор: fr00m
Дата сообщения: 01.02.2006 15:55
OXDBA
Поставь тип колонки (Properties) - ComboBox, задай Properties.Items - в фильтре для этого поля можно будет выбрать из выпадающего списка

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Kylix


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.