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

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

Автор: xokc
Дата сообщения: 19.09.2008 22:20
albreht
Если речь идет именно о DBGrid, то лучше пользоваться DataSet.RecordCount и перебирать именно DataSet, а не Grid.
Если надо все-таки перебрать Grid, то View.DataController.RecordCount и View.DataController.Values[Row, Col]. Но в этом случае могут быть нюансы.
Автор: MagistrAnatol
Дата сообщения: 24.09.2008 15:16
Народ,подскжите как в девовском гриде групировать поля в динамике , а не в дизайнере таскать в поле GroypByBox

Добавлено:
немного разобрался Column1->GroupBy(0,true);
А как сделать чтобгрупировалось по двум колонкам
Автор: f3ka
Дата сообщения: 24.09.2008 16:17
MagistrAnatol
Вот группировка по двум полям
Column1.GroupIndex := 0;
Column2.GroupIndex := 1;
Автор: chameleon82
Дата сообщения: 25.09.2008 05:55
Всем привет. Вопрос по cxTreeList
В обычном состоянии у трилиста ноды второго, третьего и т.д. уровней отображаются с ветками и со смещением (юзаю devExpress5). Так вот, можно эти ветки сделать невидимыми установив TreeLineStyle=tllsNone, но тем не менее смещение нодов по уровням все равно остается? Как можно это смещение убрать, чтобы ноды всех уровней были с одним и тем же смещением? А точнее выровнены по нодам первого уровня
Автор: X11
Дата сообщения: 25.09.2008 08:02
Может тебе лучше грид использовать? Если всё в одном уровне, то какой смысл использования дерева?
Автор: MagistrAnatol
Дата сообщения: 25.09.2008 09:06
f3ka
пасиб
Автор: korobovmax
Дата сообщения: 25.09.2008 09:33
chameleon82,
делается фейковый столбец, помещается на левый край (тогда в нем будут наблюдаться смещения нодов). После этого у столбца ставятся: HorMoving := False; HorSizing := False. Наконец, прячем столбец.

В итоге, получаем вид как у грида.
Автор: chameleon82
Дата сообщения: 25.09.2008 10:38
2korobovmax.
Спасибо. правда сделал немного по другому. сделал два band, на первый поместил фейковый столбец, на второй все остальные. и сделал первый band visible=false
2X11
Необходимо работать именно с гридом, сворачивать/разворачивать столбцы и т.п.

Добавлено:
пардон. заговорился. Работать надо именно с treeList.
2korobovmax
Переделал все же как ты сказал. К сожалению не получается осуществить один момент. А именно, что фейковый столбец нельзя делать visible=false, т.к. ветки переходят к следующему столбцу, а hidden=true какбудто вообще не работает. получается что хочешь не хочешь, а 15 пикселей отступ всяко будет. Как бы сделать, чтобы не было и этого отступа? Я хочу поместить перед названиями нодов картинки, в общем сделать подобие как в qip-клиенте
Автор: clear2121
Дата сообщения: 30.09.2008 09:33
Помогите с проблемой!
На форме лежит TcxTreeList, называется mFir. Добавляю в него записи

Код:
...
TcxTreeListNode *Result = mFir->Nodes->Root->AddChild();
Result->Values[0] = DM->qAlf->FieldByName("naim")->AsString;
...
Автор: korobovmax
Дата сообщения: 30.09.2008 10:49
chameleon82,
без бандов попробуйте добавить:
1. Отключаем картинки от дерева, если есть;
2. OptionsView.ShowRoot := False;
3. OptionsView.ShowRoot := tllsNone;
4. OptionsView.Button := False;

Вуаля!

Автор: clear2121
Дата сообщения: 30.09.2008 11:41
Разобрался, но появился новый вопрос. Вся проблема в том, что я отображаю на Label инфу из одной колонки в TcxTreeList

Код:
void __fastcall TForm3::mFirSelectionChanged(TObject *Sender)
{
lPrim->Caption = mFir->FocusedNode->Values[7];
}
Автор: f3ka
Дата сообщения: 30.09.2008 13:29
clear2121 ну на самом деле это один из лучших способов.
Лучше наверно проверять на Assigned(FocusedNode).
Думаю других вариантов не будет, тк необходимы данные из FocusedNode.
Автор: LamoKamatoznoye
Дата сообщения: 01.10.2008 06:18
Один из Row в cxDBVerticalGrid имеет вид DBCheckBox. Как во время чека, но до смены фокуса узнать зачекали его только что или нет.
На событие EditValueChanged это сделать надобно.

Добавлено:
Разобрался.
Решил проблему так:


Добавлено:
разобрался
Автор: f3ka
Дата сообщения: 01.10.2008 10:38
LamoKamatoznoye как решил проблему то?
Нету ни кода ни алгоритма
Автор: jicoff
Дата сообщения: 02.10.2008 13:27
Подскажите, не появилась ли в новых версиях грида возможность автоматического суммирования по выделенным строкам, если в статистике стоит суммирование, а то надоело каждый раз реализовывать одно и тоже.
Автор: zvyagaaa
Дата сообщения: 02.10.2008 18:42
господа.
Когда кидаю на панель cxGrid, то еще в проект добавляется куча скинов.
Можно ли как-то их убрать, если они не нужны? Или оставить, например, один а остальные убрать?
Читал всю тему (правда бегло) ничего не нашел на эту тему.
Автор: clear2121
Дата сообщения: 03.10.2008 07:36
Опять я с TcxTreeList.
Вопрос вот в чём: когда я вставляю данные из запроса (где отсортировано по ORDER BY), то, естественно всё идёт по алфавиту. Вставляю запись. И хотя установлено в SORT ANSI=true, запись добавляется в конце.
Как сделать, чтоб в TcxTreeList всегда записи сортировались?
Автор: X11
Дата сообщения: 03.10.2008 08:04
zvyagaaa, только при установке снять переключатель. Уже обсуждали.
Автор: f3ka
Дата сообщения: 03.10.2008 10:44
X11 не совсем правильно...
zvyagaaa можно при помощи DelphiDistilera после установки пакетов выключить неиспользуемые скины, а оставить один или 2 например. И если в другой проге необходимы другие или дополнительные скины, то включить снова через Distiler.
По крайней мере не придется каждый раз переставлять девок чтоб юзать или не юзать скины...
Автор: Czechoslovak
Дата сообщения: 03.10.2008 10:46
clear2121
Что-т я не совсем понял причем здесь Order BY и TreeList ты же запрос после вставки не обновляешь, сделай сортировку по полю в самом TreeListe и все будет нормально


Добавлено:
f3ka
Разве в самом Delphi нельзя включить выключить не обходимыые пакеты, так что не надо ничего переустанавливать отключить не нужное и все
Автор: zvyagaaa
Дата сообщения: 03.10.2008 12:15
f3ka
огромное спасибо за информацию.
А то почти пустое приложение - и весит метров 6
Автор: f3ka
Дата сообщения: 03.10.2008 15:58
Czechoslovak к сожалению скины у девок как то криво реализованы и когда выключаешь пакеты в опциях реальных проектов и проекта по умолчанию они все равно добавляются... так что только такие вот манипуляции как у проктолога помогают...
Автор: zvyagaaa
Дата сообщения: 03.10.2008 17:17
ну нужно еще из Uses удалять скины. я уменьшил прогу в 2! раза.
Автор: X11
Дата сообщения: 03.10.2008 17:34
Давно уже читал где-то, что они скины хотели реализовать в виде отдельной DLL, но так видать и затихло
Автор: alexey_t
Дата сообщения: 08.10.2008 07:28
Здравствуйте !! Может кто сталкивался ? Для редактирования ячейки вызываю cxGridDBTableView1->Controller->EditingController->ShowEdit();.
Изначально редактируемый текст весь выделен. Каким методом программно снять выделение ?
Спасибо.
Автор: X11
Дата сообщения: 08.10.2008 08:00
alexey_t, у EditingController должен быть метод Selstart, поставь = 1.
Автор: korobovmax
Дата сообщения: 08.10.2008 12:43
chameleon82,
прошу прощения, опечатался.

Пункт №3 выглядит так
3. OptionsView.TreeLineStyle := tllsNone
Автор: alexey_t
Дата сообщения: 09.10.2008 10:34
X11,

Метода такого не нашел, сделал окольными путями:

cxGridDBTableView1->Controller->EditingController->ShowEdit();
TcxTextEdit *edtCell = (TcxTextEdit*)cxGridDBTableView1->Controller->EditingController->Edit;
if(edtCell)
{
edtCell->SelStart=edtCell->CursorPos;
}

Еще возник вопрос, как запомнить положение курсора при редактировании строчки, чтобы при восстановлении грида опять курсор поставить в тоже место ???? Заранее спасибо !!!!
Автор: jicoff
Дата сообщения: 10.10.2008 13:46
alexey_t

А тот же SelStart не годится?
Автор: aries1983
Дата сообщения: 15.10.2008 06:00
Такс.. нужна помошь. у меня тыковка со смекалкой что-то пассуют.

Фильтрую данные по колонке:


Код: with cxGridDBTableView. DataController. Filter. Root do
begin
Clear;
AddItem (cxGridDBTableViewNAME, foLike, ' %текст% ', ' "LOOK IN NAME " ');
end;
cxGridDBTableView. DataController. Filter. Active: = True;

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

Предыдущая тема: Язык программирования на русском языке


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