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

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

Автор: Volniy_Strelok
Дата сообщения: 29.05.2012 09:54
Привет!
Использую TdxNavBar в нем группа с большим количеством TdxNavBarItem
Нужно при наведении мышью на область списка(раскрытой группы) прокручивать этот список (TdxNavBarItem) колесиком мыши.
Как это можно сделать?
Автор: neznayka3
Дата сообщения: 29.05.2012 14:08
как в TcxScheduler на эвенте вывести свое поле, например под заголовком?
Автор: makz
Дата сообщения: 31.05.2012 07:27
Подскажите как сделать, чтобы cxTimeEdit при нажатии кнопок менял сразу не часы, а минуты?

Добавлено:
neznayka3
В OnGetEventDisplayText.

___
Сам наковырял, но как-то странно: в onFocusChanged прописал SetSelection(4,1).
Автор: reenoip
Дата сообщения: 31.05.2012 17:32


Установил сабж от уважаемого feandy (который идёт в файле "DevExpress.v2011.2.5.FS"). В установщике вроде проставил галочки "установить локализованную версию", однако после компиляции проекта и использовании компонент ресурсы всё равно в оригинале. Как мне перевести это на русский язык?






p.s.
feandy трогать не хочу
Автор: neznayka3
Дата сообщения: 01.06.2012 05:54
reenoip
ответ на этой странице выше

Цитата:
cxLocalizer1.FileName := ExtractFilePath(Application.ExeName) + 'RusDev.ini';

Автор: neznayka3
Дата сообщения: 01.06.2012 14:01
есть TcxDBTreeList с CheckGoups=true. перед сохранением сохраняю поле is_visible.
dbtlAccess_is_visible булево поле.

Код: procedure TfmAccess.saveCheckClientAccess;
var
ANode: TcxTreeListNode;
begin
dbtlAccess_.BeginUpdate;
try
ANode := dbtlAccess_.Root;
while ANode <> nil do
begin
ANode.Values[dbtlAccess_is_visible.ItemIndex] :=
ANode.CheckState = cbsChecked;

ANode := ANode.GetNext;
end;
finally
dbtlAccess_.endUpdate;
end;
end;
Автор: ant0ni02004
Дата сообщения: 01.06.2012 14:43
neznayka3
а вручную в самом DataController.DataSource.DataSet.FieldByName(...)Value:=...
Автор: neznayka3
Дата сообщения: 01.06.2012 14:50
ant0ni02004
тогда в цикле "while ANode <> nil do" придется позиционировать датасет и изменять запись, чего хотелось бы избежать. думаю TcxDBTreeList умнее, и я что то не так делаю.
Автор: marser
Дата сообщения: 01.06.2012 19:33
neznayka3

Цитата:
тогда в цикле "while ANode <> nil do" придется позиционировать датасет и изменять запись, чего хотелось бы избежать. думаю TcxDBTreeList умнее, и я что то не так делаю.

Проще сформулировать вопрос по-другому: "Можно ли редактировать записи в DataSet не меняя позицию текущей записи?" И получить очевидный ответ.
Автор: neznayka3
Дата сообщения: 01.06.2012 21:17
marser
спасибо. думал TcxDBTreeList это сам делает, если включить какое то свойство.
Автор: SevereK20
Дата сообщения: 03.06.2012 19:03
Подскажите, пожалуйста, такой вопрос..
Имеется cxDBLookupComboBox1.
В ListSource указан DataSource (с выбранными 2 полями из таблиц - ID и NAME)
В KeyField - ID, в ListField - Name.
Компилирую - в комбобоксе есть значения, но при выборе значения поле комбобокса остается пустым... в чем может быть проблема?
Автор: neznayka3
Дата сообщения: 04.06.2012 13:30
SevereK20
DataqBinding.DataField/DataSource установлены?
Автор: ant0ni02004
Дата сообщения: 04.06.2012 17:29
neznayka3

Цитата:
придется позиционировать датасет и изменять запись

DisableControls....EnableControls, причем перед EnableControls сделать Locate на ту запись которая была перед циклом
или можно найти по ключу соотв.Node и сделать её Focused
Автор: neznayka3
Дата сообщения: 04.06.2012 17:52
ant0ni02004
уже написал)

как в TdxLayoutGroup заголовок сделать шрифт жирным?
Автор: marser
Дата сообщения: 05.06.2012 06:35
neznayka3

Цитата:
как в TdxLayoutGroup заголовок сделать шрифт жирным?

LayoutLookAndFeel.GroupOptions.CaptionOptions.Font
Автор: neznayka3
Дата сообщения: 05.06.2012 11:27
как в dbTreeList так выделить текст? вернее выделить часть теста только в нодах, которая содержит "editor". например Петров
Автор: makz
Дата сообщения: 05.06.2012 12:11
Полагаю в onCustomDrawDataCell:

if AViewInfo.Node.Values[i]='editor' then ACanvas.Font.Style:=[fsbold];
Ну вместо "AViewInfo.Node.Values[i]='editor'" поиск подстроки конечно.

Автор: neznayka3
Дата сообщения: 05.06.2012 13:41
makz
подстроку найду, а ACanvas.Font.Style:=[fsbold]; выделит весь текст, надо часть Петров
Автор: ant0ni02004
Дата сообщения: 05.06.2012 14:10
neznayka3

Цитата:
надо часть

если нужно только часть строки - то самому рисовать в onCustomDrawDataCell через Canvas.DrawText
Автор: lirikyo
Дата сообщения: 05.06.2012 16:37
Возникает следующая проблема:
после замены стандартных компонент на DevExpress горизонтальный сплитер пропадает из виду.
Может кто-нибудь подсказать, отчего может возникать такая проблема?
Автор: mdid
Дата сообщения: 07.06.2012 14:30
был у меня такой чудесный код который копировал строку выделенной ячейки грида

Код: var
i,j: smallint;

begin
i:=Budget.DataController.FocusedRowIndex;
Budget.DataController.FocusedRowIndex:=
Budget.DataController.AppendRecord;
for j:=0 to Budget.ColumnCount-2 do
Budget.DataController.Values[Budget.DataController.FocusedRowIndex,Budget.Columns[j].Index]:=
Budget.DataController.Values[i,Budget.Columns[j].Index]
Автор: andreybear
Дата сообщения: 07.06.2012 16:35
Может быть так?

Цитата:
Record Index
Data in a grid control is internally represented in a tabular form. One coordinate specifies the record; the other specifies the item. A record index is an integer number used to address a specific record. Record indexes are not changed due to sorting. They always point to same data.


Код: procedure TForm1.cxButton1Click(Sender: TObject);
var curIndex, newIndex, colIndex: integer;
begin
curIndex := View.DataController.FocusedRecordIndex;
newIndex := View.DataController.AppendRecord;
cxGrid1.SetFocus;
View.DataController.FocusedRecordIndex := newIndex;
for colIndex := 0 to View.ColumnCount - 1 do
View.DataController.Values[newIndex,colIndex] :=
    View.DataController.Values[curIndex,colIndex]
end;
Автор: mdid
Дата сообщения: 07.06.2012 16:39
andreybear
может быть)) спасибо
Автор: andreybear
Дата сообщения: 07.06.2012 16:41
lirikyo
Не понятно, о чем идет речь. Т.е. все стандартные компоненты заменили на аналогичные DevExpress'овские? А сплиттер какой? Можно снимок экрана с "проблемой"?
Автор: lirikyo
Дата сообщения: 08.06.2012 08:44
andreybear
Да, заменили все, что могли, т.е. форму, панели и сплиттер в данном случае.

Проблему удалось немного локализовать. Оказалось, что сплиттер отображается, но не захватывается при выборе определенных обложек.
А именно, при выборе тем "Office 2007 <цвет>" и тематических обложек "Весна", "Валентинка", "Рождество", "Лето" сплиттер становится не цепляемым - курсор над ним не меняется.

Со скриншотом - так и не нашел способа вставить правильно. Вот ссылка: http://screenpresso.com/=3OCPb

Как видно - сплиттер находится между двумя панелями, но двинуть его невозможно.
Автор: andreybear
Дата сообщения: 08.06.2012 11:15
lirikyo
Странно... Скиньте, пожалуйста, текст формы .dfm со скриншота и модуля .pas.
Какая версия DevExpress?
Автор: lirikyo
Дата сообщения: 08.06.2012 11:33
andreybear
Форма генерировалась в реальном времени и, как оказалось, была наследником от DevExpress класса. В результате и происходило такое несоответствие. Что-то вроде ширина панели больше и перекрывает частично сплиттер. Было решено сжатием одной из панелей.
Спасибо за помощь(пока оформлял сообщение - нашел ошибку).

P.S. На всякий случай, C# можно спрашивать? Или только под Delphi?
Автор: X11
Дата сообщения: 08.06.2012 16:39
Не могу понять, почему в фильтре нет выбора поля, хотя датасет открыт и данные в гриде есть

Автор: andreybear
Дата сообщения: 09.06.2012 07:56
Не сталкивался с такой проблемой. Такое впечатление, что у колонок свойство Filtering = false.
А как диалог настройки фильтра вызывается?
Попробуйте вызвать стандартно:

Цитата:
End-users can invoke the Filter Builder dialog using the Customize… button displayed within the filter panel. This dialog is also invoked when choosing the (Custom…) item from the filter dropdown, provided that the Custom Filter dialog cannot display the filter condition applied to the corresponding column or card row.
Автор: X11
Дата сообщения: 09.06.2012 11:23
Куда уж более стандартно. Вызываю из навигатора. Сравнивал с настройками других гридов - все одинаково.

Добавлено:
Вызывал также и кнопкой "Настройка" (справа внизу) - та же проблема.
Главное, что пока датасет не открыт - все отлично, как только открыл, сразу проблема.

Добавлено:
При переоткрытии датасета оперирую только датасетом (строю запрос where), сам грид не трогаю вообще

Добавлено:
Решил. В общем не знаю, как получилось, наверное это связано с сохранением и восстановлением настроек грида. Запустил приложение без восстановления настроек грида. Наверное грид много чего в настройках хранит.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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