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

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

Автор: AvGSoft
Дата сообщения: 13.08.2008 13:27
Была такая проблема, остались следы о предыдушей версии девок. Удали и почисти в ручную папку систем 32 на предмет bpl от девок. И затем установи заново. Удачи!

Добавлено:
abos
Автор: abos
Дата сообщения: 13.08.2008 15:24
Спасибо! Проблема ушла.
Автор: X11
Дата сообщения: 13.08.2008 17:49
Как правильно (программно) бросить группирование в cxGrid (грид не привязывается к датасету).

grid1.DataController.Groups.ClearGrouping;

сбрасывает группирование, но в таблице не появляются колонки которые лежали на панели группировки
Автор: Slava15
Дата сообщения: 13.08.2008 17:57
Подскажите, пожалуйста, как программно создать колонку в dxMemData и показать ее в cxGrid или dxGrid?
Автор: jicoff
Дата сообщения: 13.08.2008 18:46
Slava15

Для создания поля в датасете, вызываешь конструктор класса соответствующего типа, например, для Int - TIntegerField. В хелпе посмотри, там есть пример. А чтобы поле отобразилось, надо создать колонку в GridView с помощью CreateColumn и связать с ней.
Автор: X11
Дата сообщения: 13.08.2008 19:01
Приходится показывать сгруппированные колонки, так правильно?

Код: grid1.BeginUpdate;
try
for i := 0 to grid1.GroupedItemCount - 1 do
grid1.GroupedItems[i].Visible := True;
grid1.DataController.Groups.ClearGrouping;
finally
grid1.EndUpdate;
end;
Автор: afiget
Дата сообщения: 13.08.2008 19:49

Цитата:
работай в гриде с данными, зачем тебе таблица в памяти?

Ы-ы-ы-ы. Жжешь!
Автор: X11
Дата сообщения: 13.08.2008 21:55
Я имел ввиду, что в cxGrid`е можно удалить TcxDBTableView и создать TcxTableView, т.е. это почти тоже самое, что и TcxDBTableView, подключённый к dxMemTable

Добавлено:
Неправильно выразился.
Автор: Slava15
Дата сообщения: 14.08.2008 10:27
X11
А можно пример создания поля и добавления данных в cxTableView?
Автор: korobovmax
Дата сообщения: 14.08.2008 11:21
Точнее, не TcxTableView, а TcxGridTableView.

Slava15, в Demos есть пример UnboundSimpleDemo.
Автор: Slava15
Дата сообщения: 14.08.2008 11:25
korobovmax, спасибо!
Автор: gnesiod
Дата сообщения: 14.08.2008 15:41
Всем привет!
Такая проблема:

происходит после того как изменяешь значение сортируемого столбца и переходишь к следующему.

версия грида 7.2.2
Автор: sashruboard
Дата сообщения: 14.08.2008 15:46
Подскажите пож-та если ли у девэкспресс комбобокс с выпадающем деревом? кроме старого dx-овского ExpressDBTree Suite - он не подходит
Спасибо
Автор: korobovmax
Дата сообщения: 14.08.2008 15:50
sashruboard,
TcxPopupEdit
В Properties есть свойство PopupControl - на него можно назначить любой контрол, даже форму!
Автор: sashruboard
Дата сообщения: 14.08.2008 16:01
korobovmax
Спасибо за ответ. Так я пробовал - мне не очень понравилось, приходилось обрабатывать много событий, были проблемы с закрытием его. Хочется именно отдельный компонент. Причем дбшный
Автор: korobovmax
Дата сообщения: 14.08.2008 16:07
Нет такого.
Можно сделать самому
(наследник TcxDBComboBox)
Автор: jicoff
Дата сообщения: 14.08.2008 17:33
sashruboard
korobovmax

Так тогда лучше от TcxPopupEdit, раз уж есть обработчики с событиями.
Автор: VitOs2
Дата сообщения: 15.08.2008 14:07
Может кто подсказать (идиологию), как реализовано создание таблицы и ее уничтожение в программе MegaContacts? Они тоже использую DevExpress.

Нужно сделать похожую функциональность - результаты выборки отображать каждый раз в новой таблице. Но не очень понимаю как.

В голову мне приходит мысль только с созданием нового таба и в нем грид+данные. Но, на мой взгляд, это очень громоздко...

Что скажете?
Автор: f3ka
Дата сообщения: 15.08.2008 14:20
VitOs2 думаю что они создают новый левел в cxgrid, затем в нем создают новый cxgridtableview. Вкладки появляются сами если выставить у cxgrid.rootleveloptions.detailtabsposition.
Автор: VitOs2
Дата сообщения: 15.08.2008 14:25
А как появляется кнопочка закрытия результатов? Своя кнопка? Я перерыл все свойства, не нашел где она включаеся. Кнопка закрытия табов есть только компонента для табов.

Добавлено:
И еще в догонку. У меня есть View нормально настроеный, так как мне нужно. Как из него создавать копии?
Автор: f3ka
Дата сообщения: 15.08.2008 15:56
VitOs2, возможно у них используется наследник самописный чтоб кнопка была или все таки cxtabcontrol.

А чтоб создавать новые копии вьюхи поробуй так...

Код:
var
tv: TcxCustomGridView;
l: TcxGridLevel;
begin
tv := <grid>.CreateView(TcxGridTableView);
tv.Assign(<tvPattern>);
//если необходим level то
l := <grid>.Levels.Add;
l.GridView := tv;
<grid>.ActiveLevel := l;
Автор: VitOs2
Дата сообщения: 15.08.2008 16:11
Большое спасибо за помощь! Буду рыть дальше. Почти то, что мне нужно.
Если кто еще сможет добавить, буду благодарен!
Автор: VitOs2
Дата сообщения: 16.08.2008 09:26
Нашел утилиту, которая показывает класс объекта при наведении мышкой. Оказывается, используется TcxPageControl. Получается, что в MegaContacts все-таки создается каждый раз новый грид вместе с табом! Может, и себе такое сделать. Немного громоздко, но все же...
Автор: myst3000
Дата сообщения: 17.08.2008 22:12
Никто не знает, в чем может быть трабл, когда QuantumGrid не хочет ни в какую редактировать ячейки? Использую DISQLite3. Все данные отображаются отлично, но как бы я ни назначал редакторы (включая repository) - при нажатии на ENTER и F2 ничего с ячейками ни происходит!!!

И в NavigatorBar соответствующие кнопки всегда за-gray-ены!!!

????
Автор: korobovmax
Дата сообщения: 17.08.2008 22:22
myst3000
взможно, что у GridView в свойстве DataController не установлено KeyFieldName (поле уникальной идентификации записей)
Автор: myst3000
Дата сообщения: 17.08.2008 22:30
korobovmax
У меня два поля - no (index, типа Integer) и Title (типа стринг).
DataController.KeyFieldNames = 'no' - оно? Не помогает.
Автор: X11
Дата сообщения: 17.08.2008 22:58
Скорее всего, что у тебя сам датасет нередактируемый. Я не работал с DISQLite3, поэтому не знаю, какие настройки у этого датасета. Покажи запрос, возможно, что сам запрос не позволяет датасету быть редактируемым. Ну и попробуй вызвать метод Edit у датасета.
Автор: myst3000
Дата сообщения: 17.08.2008 23:06
X11
А как в общем случае настроить датасет, чтобы он был редактируемым?
У меня вот такие запросы:
SelectSQL := 'Select no,Title from Tasks;';
ModifySQL := 'update Tasks set Title=:Title where no=:no;';
InsertSQL := 'insert into Tasks (no,Title) values (:no,:Title);';
DeleteSQL := 'delete from Tasks where no=:no;';

Автор: X11
Дата сообщения: 17.08.2008 23:11
1. Вызови метод Edit у датасета.
2. Вызови метод Append у датасета.
3. Посмотри настройки грида, разрешено ли редактирование данных.
Кстати, не обязательно прописывать поле KeyField у грида.
Автор: myst3000
Дата сообщения: 17.08.2008 23:16
X11
1,2. При вызове этих методов выдается ошибка "Cannot modify a read-only dataset"! его явно нельзя редактировать - но непонятно как это иправить?
3. (все выставлено)

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

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


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