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

» Использование DevExpress (часть 4)

Автор: X11
Дата сообщения: 18.05.2010 16:26
а весь код или хотябы чуть побольше, тут не видно, какую именно строку ты изменяешь, у тебя цикл??
Автор: mdid
Дата сообщения: 18.05.2010 16:29
да цикл...а какой код еще надо?в цикле просматриваются данные...если условие выполняется надо поставить галку..если нет..то нет
Автор: volser
Дата сообщения: 18.05.2010 16:34
mdid
А с чего вы взяли что EndMon.Properties это TcxCheckBox? Это совершенно другой класс.
Автор: mdid
Дата сообщения: 18.05.2010 16:37
volser
хз...по логике...а какой там класс и как его посмотреть?
тоесть класс я глянул..TcxCheckBoxProperties..но искомого свойста которое отвечает за пометку/снятие пометки я так и не нашел
Автор: volser
Дата сообщения: 18.05.2010 17:40
mdid
Если грид смотрит на датасет, то нужно смотреть его событие AfterInsert и в этом событии заполнить нужное поле нужным значением. Если не смотрит на датасет, то нужно смотреть соответствующие события грида.
Автор: linker_2009
Дата сообщения: 18.05.2010 20:07
[b]mdid[/b]
Если EndMon колонка с чеками то
<Your>cxGridTableView.DataController.Values[<RecordIndex>,EndMon.Index]:=False;
Автор: vcrank
Дата сообщения: 19.05.2010 07:24
Подскажите пожалуйста как правильно сохранить настройки сортировки колонки в cxGrid
На этапе разработки
cxGridDBTableView1ID : TcxGridDBColumn
SortIndex=-1
SortOrder=soNone

В процессе работы юзер может кликнуть на заголовке колонки и значения отсортируются по убыванию/возрастанию
при выходе из программы сохраняю настройки

Цитата:
var
AStoreComponent: TcxPropertiesStoreComponent;
begin
AStoreComponent.Component := cxGridDBTableView1ID;
AStoreComponent.Properties.Add('SortIndex');
AStoreComponent.Properties.Add('SortOrder');

cxPropertiesStore1.StoreTo(false);
end;

Однако в в ini-файл пишется всегда:
SortOrder="soNone"
SortIndex=-1
Автор: mdid
Дата сообщения: 19.05.2010 07:55
linker_2009
пасиб..помогло
Автор: linker_2009
Дата сообщения: 19.05.2010 08:34
[b]vcrank[/b]
Попробуйте перед
AStoreComponent.Component := cxGridDBTableView1ID;
вставить
AStoreComponent:=cxPropertiesStore1.Components.Add;
В справке есть пример
Автор: SIgor33
Дата сообщения: 19.05.2010 08:41
vladman

Цитата:
Не знаю как это у вас так получилось. Сколько не пытался, так и не удалось сделать ширину таба меньше длины текста.

А у меня почему-то выглядит так и незнаю в чем дело, может версия 48
См. скриншот.
Автор: vcrank
Дата сообщения: 19.05.2010 08:57
AStoreComponent := TcxPropertiesStoreComponent(cxPropertiesStore1.Components.Add);
Цитата:
Попробуйте перед
AStoreComponent.Component := cxGridDBTableView1ID;
вставить
AStoreComponent:=cxPropertiesStore1.Components.Add;
В справке есть пример

Забыл упомянуть, что у меня добавлена эта строка:

Цитата:
AStoreComponent := TcxPropertiesStoreComponent(cxPropertiesStore1.Components.Add);

Вот полный код:
[more=код] try
cxPropertiesStore1.StorageName := path + 'options.ini';

AStoreComponent := TcxPropertiesStoreComponent(cxPropertiesStore1.Components.Add);

AStoreComponent.Component := fmMain;
AStoreComponent.Properties.Add('top');
AStoreComponent.Properties.Add('left');
AStoreComponent.Properties.Add('height');
AStoreComponent.Properties.Add('width');
AStoreComponent.Properties.Add('WindowState');
cxPropertiesStore1.StoreTo(false);
AStoreComponent.Properties.Clear;
AStoreComponent.Component := cxGridDBTableView1ID;
AStoreComponent.Properties.Add('SortIndex');
AStoreComponent.Properties.Add('SortOrder');
cxPropertiesStore1.StoreTo(false);
finally
FreeAndNil(AStoreComponent);
end;[/more]

Кривой код ?
Автор: neznayka3
Дата сообщения: 19.05.2010 11:51
Проблема с открытием DropDownBox-a у LookupComboBox при заполнении run time. При нескольких значениях показывает одно.
Пример customers из DBDemos. Для быстрого воспроизведения набирите "U", потом "Delete".
Автор: vladman
Дата сообщения: 19.05.2010 12:31
SIgor33

Цитата:
А у меня почему-то выглядит так и незнаю в чем дело, может версия 48

Давайте .pas и .dfm фалы иллюстрирующие проблему. Посмотрю.

Добавлено:
neznayka3

Цитата:
При нескольких значениях показывает одно.
Пример customers из DBDemos. Для быстрого воспроизведения набирите "U", потом "Delete".
Т.е. вы хотите чтобы не было скролинга в LookupComboBox?
Автор: neznayka3
Дата сообщения: 19.05.2010 13:28
vladman

Цитата:
Т.е. вы хотите чтобы не было скролинга в LookupComboBox?

Хочу чтобы в DropDownBox было столько записей, сколько поставлено, те 8 и со скролингом. Если в наборе меньше 8 записей, естественно меньше. Сейчас при любом количестве записей показывает одну.
Автор: vladman
Дата сообщения: 19.05.2010 13:58
neznayka3
Добавьте перед последним end в вашу процедуру TForm1.cxLookupComboBox2PropertiesChange две строки:

Код: cxLookupComboBox2.PopupWindow.CloseUp;
cxLookupComboBox2.PopupWindow.Popup(cxLookupComboBox2);
Автор: linker_2009
Дата сообщения: 19.05.2010 16:35
[b]vcrank[/b]
[q]Вот полный код:
код
Кривой код ?[/q]
Спецом проверил пример из справки, след. код работатет.
[more=код]
with cxPropertiesStore1 do
begin
with TcxPropertiesStoreComponent(Components.Add) do
begin
Component := cxGrid1DBTableView4DayDate;
Properties.Add('SortIndex');
Properties.Add('SortOrder');
end;
StorageName := 'c:\store.ini';
StoreTo;
end;
[/more]
получил [more=ini]
[Main]
Version=2
[cxGrid1DBTableView4DayDate: TcxPropertiesStoreComponent]
=
SortIndex=0
SortOrder="soAscending"
[/more]
у меня 49 девки
Автор: X11
Дата сообщения: 20.05.2010 22:30

Цитата:
X11

Цитата:
Есть ли возможность расположить кнопки не справа строки, а слева, т.е. сразу после Caption??

Есть, например так:

Код:
type
TcxCustomEditPropertiesAccess = class(TcxCustomEditProperties);

begin
with TcxCustomEditPropertiesAccess(<Your>cxVerticalGridEditorRow.Properties.EditProperties).Buttons do
Items[0].LeftAlignment := True;
end;


Вот мой код

Код:
for I := 0 to vgClientsAdd.Rows.Count - 1 do
if (vgClientsAdd.Rows[i] is TcxCategoryRow) then
Continue
else
with TcxCustomEditPropertiesAccess(TcxEditorRow(vgClientsAdd.Rows[i]).Properties.EditProperties).Buttons do
if count > 0 then
Items[0].LeftAlignment := True;

Автор: vladman
Дата сообщения: 21.05.2010 00:39
X11

Цитата:
Проблема со строкой типа SpinEdit
1. Кнопки всё равно справа

У SpinEdit эти кнопки не совсем те Buttons. Тут нужен какой-то другой подход. Какой? - нужно думать. )
Автор: neznayka3
Дата сообщения: 21.05.2010 07:52
C cxLookupComboBox разобрался, как в run time добавить данные в cxDBLookupComboBox? При DropDownListStyle=lsEditFixedList символы вообще не вводятся, если нет совпадений в ListSource.
Автор: X11
Дата сообщения: 21.05.2010 09:01

Цитата:
У SpinEdit эти кнопки не совсем те Buttons.

Тогда не надо, тогда вся затея с кнопками не подходит. Получается, что часть кнопок слева, часть справа. Всё равно спасибо
Автор: vladman
Дата сообщения: 21.05.2010 09:53
neznayka3

Цитата:
При DropDownListStyle=lsEditFixedList символы вообще не вводятся, если нет совпадений в ListSource.

На то он и FixedList. Т.е. "Text input is allowed .... Entering new values is prohibited."
Используйте для вашей цели lsEditList.
Автор: TechnoDreamer
Дата сообщения: 23.05.2010 12:48
Использую TcxGrid в Unbound Mode.
Одна из колонок нужна как lookup к полю из базы данных.
Свойство Properties.DropDownListStyle=lsEditList
Мне необходима возможность вводить не только элементы из списка, но и пользовательские. Возможно ли это?

P.S. Добавлять пользовательские значения в базу не требуется.
Автор: crazypiggy
Дата сообщения: 24.05.2010 10:09
Добрый день. Помогите разобраться с cxDBPivotGrod. По примеру cxGrid пытаюсь пройтись по выбранным записям cxDBPivotGrid
cxGrid1DBTableView1.DataController.FilteredRecordCount

Код:
for i:=0 to cxDBPivotGrid1.DataController.FilteredRecordCount-1 do
begin
base.frxReport.LoadFromFile('.\Отчеты\'+'Извещение.fr3');
Base.frxReport.Script.Variables['num']:=cxDBPivotGrid1.DataController.GetValue (cxDBPivotGrid1.DataController.FilteredRecordIndex[i],0);
end
Автор: yurikorz
Дата сообщения: 24.05.2010 11:11
Привет всем, делаю в cxGrid (cxGridDBTableView) перетаскивание (DragAndDrop)
Никак не могу понять как в OnDragDrop (отпускание кнопки) определить над какой записью сейчас находиться курсор.
То есть надо определить ID записи в конце DragAndDrop. Помогите, пожалуйста.
Автор: linker_2009
Дата сообщения: 24.05.2010 11:32
[b]yurikorz[/b]

Кусок из программы
[more=код]
procedure TMainFrm.cxGrid5DBTableView1DragDrop(Sender, Source: TObject; X,
Y: Integer);
var
i:integer;
...
begin

with TcxGridSite(Sender) do
begin
if ViewInfo.GetHitTest(X, Y).HitTestCode = htCell then
begin
i:=TcxGridRecordCellHitTest(TcxGridSite(Sender).ViewInfo.GetHitTest(X, Y)).GridRecord.Values[cxGrid5DBTableView1RecId.Index];
end;
end;

// cxGrid5DBTableView1RecId - это столбец, с ID записью, в i кладеться номер записи на которую бросили
// Далее обработка данных

...

end;
[/more]
Подробнее есть в справке, также в демках есть пример
Автор: yurikorz
Дата сообщения: 24.05.2010 11:38
linker_2009, спасибо огромное!
все получилось....
Автор: linker_2009
Дата сообщения: 24.05.2010 13:11
[b]TechnoDreamer[/b]
Если у вас Properties это LookupComboBox и Properties.DropDownListStyle=lsEditList, все должно работать как вы хотите.
Автор: neznayka3
Дата сообщения: 24.05.2010 13:12
Надо обработать DblClick в card view. Пишу
Код: var
p : TPoint;
begin
p.X:=mouse.CursorPos.X;
p.Y:=mouse.CursorPos.Y;
p:=<view>.ViewInfo.Site.ScreenToClient(p);

if (<view>.ViewInfo.GetHitTest(p.X,p.Y).HitTestCode=htCell) then
Автор: linker_2009
Дата сообщения: 24.05.2010 13:34
[b]neznayka3[/b]
вообщето работает
У вас не работает потому что у вас разрешено редактирование(OptionsData.Editing:=true).
Опишите что хотите реализовать.
Автор: Andryshok
Дата сообщения: 24.05.2010 14:59
Не знает ли кто как сделать такое - есть MDI приложение, c использованием Express bars
как сделать чтоб закголовки открытых окон отображались снизу на панели, ну типа
открыто несколько окон, и заголовки их внизу на панели, щелкаешь по ним и окно становится активным вот ссылка на картинку http://www.image123.net/u2pzhcyjxc3dpic.html

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки


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