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

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

Автор: zvyagaaa
Дата сообщения: 12.12.2008 10:43
оффтоп
Ziltoid
ИМХО у девов скины сделаны через жэ, лучше те же альфаскинс
Автор: garald50
Дата сообщения: 12.12.2008 10:49
Я спрошу по дефкам для .net
Как портировать проект CarouselDemo в XBAP?
Автор: SHKoder
Дата сообщения: 12.12.2008 10:50
делал отжим от базы на FB/IB через компоненты FIB а также делал на ADO + IBProviderFree (LCPI)
а также делал на прямую в ADO + MS SQL Server 2005. все тщетно
не вытаскивает, в рунтайме вообще изображение не подтягивает.


Добавлено:
в девках 40 проблема в дизайн тайм изменилась, однако в реал тайм какаято батва, картинка всеравно не отображается
+ ко всему в дизйн тайм постоянно получаю

Код: Access violation at address 50006F04 in module 'rtl120.bpl'. Read of address D92025CF.
Автор: xokc
Дата сообщения: 12.12.2008 15:49
SHKoder
А в 2007 Delphi работает? Примеры DevExpress работают?
Автор: SHKoder
Дата сообщения: 12.12.2008 17:02
xokc
работали, но и девки были другие, 37, кажется. не помню
Автор: Katy79
Дата сообщения: 15.12.2008 13:32
TcxGrid
TcxGridDBTableView
GroupByBox = true

как развернуть/свернуть все группы неоднократно обсуждалось
ctView.DataController.Groups.FullCollapse;
ctView.DataController.Groups.FullExpand;

но не гдене нашла как запомнить какие группы свернуты, какие развернуты и при переоткрытии набора данных развернуть/свернуть те же группы?
Автор: skinash
Дата сообщения: 15.12.2008 14:39
Всем привет!
Могу ли я применить к TcxComboBox DisplayFormat, как для TcxCurrencyEdit.
Хочу, чтоб у меня в КомбоБоксе отображалось, к примеру "10 мм", а на самом деле значение было "10".
Если да, то могу ли я тоже самое сделать с TcxEditorRow (у TcxVerticalGrid) или TcxGridDBColumn (у TcxGrid).
Помогите с примером?
Автор: afiget
Дата сообщения: 15.12.2008 16:28
Katy79
Я делаю програмно так:

Код:
PropertiesStore.Components.BeginUpdate;
for i := 0 to View1.ColumnCount - 1 do
begin
AComponent := TcxPropertiesStoreComponent(PropertiesStore.Components.Add);
AComponent.Component := View1.Columns[i];
AComponent.Properties.Add('Width');
AComponent.Properties.Add('Visible');
AComponent.Properties.Add('SortIndex');
AComponent.Properties.Add('SortOrder');
AComponent.Properties.Add('GroupIndex');
end;
PropertiesStore.Components.EndUpdate;
Автор: Katy79
Дата сообщения: 16.12.2008 06:07
afiget
спасибо за подсказку, сделала вот так (вроде бы работает):

Код:
var j,c : Integer;
b : array of boolean;
begin
try
c := tv.ViewData.RecordCount - 1;
setLength(b, c+1);

for j := 0 to c do b[j]:= tv.ViewData.Records[j].Expanded;

ds.Active := False;
ds.ParamByName('....').AsInteger := ....
....
ds.Active := True;

for j := 0 to c do tv.ViewData.Records[j].Expanded := b[j];

result := true;
except
result := false;
end;
Автор: skinash
Дата сообщения: 16.12.2008 10:33

Цитата:
skinash
Используйте TcxImageComboBox

Это как это?
Автор: jicoff
Дата сообщения: 16.12.2008 15:13
skinash

А там есть свойство Items. Если вызвать редактор, то можно увидеть Description, Value, ValueType. Image не надо указывать, тогда будет выводиться один Description, а присваиваться значение Value.
Автор: skinash
Дата сообщения: 17.12.2008 07:58
В TcxImageComboBox используются только предопределённые в списке значения (Description, Value), а если мне надо вручную что-то ввести?
Посмотрите как работает TcxCurrencyEdit.Properties. У него есть свойство DisplayFormat. Если TcxCurrencyEdit не имеет фокус, то отображается в соответствии с DisplayFormat.
Логично было бы предположить, что TcxComboBox.Properties так же должен работать, т.к. и TcxCurrencyEditProperties, и TcxComboBoxProperties наследники TcxCustomTextEditProperties, который предоставляет нам DisplayFormat.
Но, к сожалению, так не получается :'(

Код: var
Prop: TcxCurrencyEditProperties{TcxCustomTextEditProperties};
begin
Prop := TcxCurrencyEditProperties{TcxCustomTextEditProperties}(cxComboBox1.Properties);
Prop.DisplayFormat := ',0.00 mm';
Автор: Katy79
Дата сообщения: 17.12.2008 08:04
TcxScheduler: как получить список событий, если события заданны как переодически?

cxScheduler.Storage := SchedulerDBStorage;
SchedulerDBStorage связанн с таблицей в базе

т.е инфа о периоде и шаге хранится где-то в базе. видимо в поле RECURRENCEINFO. Как можно получить эту информацию?
Автор: Czechoslovak
Дата сообщения: 17.12.2008 14:12
skinash

Используй событие OnGetDisplayText и выводи все что хочешь...
Автор: f3ka
Дата сообщения: 17.12.2008 14:30
Czechoslovak к сожалению cxComboBoxa нету OnGetDisplayText... я уже сам хотел посоветовать его юзать но не нашел Event.
Автор: skinash
Дата сообщения: 17.12.2008 15:13
Czechoslovak
А Value какое будет? Оно испортится )))
Блин, чувствую глюк, а доказать не могу)))
Автор: afiget
Дата сообщения: 17.12.2008 16:05
skinash
Не глюк. Просто у Комбобокса нет отдельного свойства для хранения значения.
Одно свойство хранит значение и отображает.

Сделайте себе свой компонент с этим функционалом, скопировав все необходимое из того же TcxCurrencyEdit.
Автор: Czechoslovak
Дата сообщения: 18.12.2008 15:29
skinash Причем тут Value ? Ты просто выводишь текст в ячеку Хелп читай иногда там все описано что какое событие делает
Автор: jicoff
Дата сообщения: 18.12.2008 16:21
Может кто сталкивался с такой проблемой. Есть TcxLookupComboBox. В свойстве KeyFieldNames в Properties прописаны 2 поля: A1;A2. Назначаем TcxLookupComboBox.Text какой-нибудь текст. На экране он появляется, но при получении компонентом фокуса исчезает.
Автор: afiget
Дата сообщения: 18.12.2008 18:44

Цитата:
Назначаем TcxLookupComboBox.Text какой-нибудь текст

А метод валидации вызываем?
Может быть значение невалидное?
Или датасет не открыт, на поле которого повешен лукап.
Или поле в датасете ридонли.
Автор: jicoff
Дата сообщения: 18.12.2008 19:01
afiget

Если оставить только одно поле A1, то все работает, но при этом выбор в LookupList (там тоже два поля A1;A2) новой строки, не приводит к срабатыванию события OnChange, т.к. в паре A1;A2 меняется только A2, а отображаться должно A1.

Обращаю внимание, используется не TcxDBLookupComboBox, а TcxLookupComboBox, что позволяет вводить в редактируемое поле любой текст.
Автор: Andy_BitOff
Дата сообщения: 18.12.2008 21:23
Возможно ли в DevExpress.cxGrid сделать такой вид заголовка таблицы (http://bitoff.pisem.net/temp/scr2.png - 629 байт)? У меня получается только так (http://bitoff.pisem.net/temp/scr1.png - 3,8 KБ (3 844 байт)), а это, согласитесь, не то.
Автор: korobovmax
Дата сообщения: 18.12.2008 22:55
Andy_BitOff, возможно.

В серединке вы добились нужного. На scr1.png у вас слева 1 банд и несколько столбцов, привязанных к этому банду.
Сделайте по одному банду на каждый столбец (кроме серединки, где на 1 банд больше 1 столбца). Останется сделать так, чтобы не было горизонтальной полосы между бандом и столбцом. Можно в OnCustomDraw столбца залить серым цветом и ставить Accept := True. Все остальное рисоваться не будет.
Автор: Andy_BitOff
Дата сообщения: 18.12.2008 23:18
Нет. Это не выход. Во-первых используются скины, во-вторых надписьна столбце должна быть по середине.
Автор: afiget
Дата сообщения: 19.12.2008 11:00
jicoff

Цитата:
TcxLookupComboBox, что позволяет вводить в редактируемое поле любой текст.

Это поле не редактируется (если вы сами не напишете соответствующий код, расширяющий функциональность компонента)!

The editor’s edit value (the EditValue property) matches the ListSource key field value (identified via the Properties.KeyFieldNames property) corresponding to the record containing the currently displayed value.

You can specify the EditValue via code. If there is no records in ListSource whose key field values match the edit value, the editor displays nothing.

Если вы пытаетесь исползовать свойство Text, то:
Setting this property programmatically is similar to locating a record within the data source whose specific field value is equal to the Text property. The data source field to locate is identified via the ListFieldIndex property value, which represents the index of a field within the ListFieldNames list.

If the Text property value has no matching record within the data source, no text is displayed within the lookup combo box.
Автор: jicoff
Дата сообщения: 19.12.2008 12:56
afiget


Цитата:
If the Text property value has no matching record within the data source, no text is displayed within the lookup combo box.


Даже не знаю что на это ответить. Как уже писал, если в KeyFieldNames стоит одно поле NAME (в моем случае), то все работает, даже если не находит текст в Lookup DataSet. Как говорится: не верь глазам своим.

Идея простая. После ввода текста в Lookup DataSet данные обновляются в соответствии со значением Text. Если не находится точное совпадение, обновляются по частичному совпадению. Пользователь можен выбрать что ему больше подходит или оставить свойство Text без изменения, тогда появиться новая запись в базе.

Придется TcxPopupEdit использовать.
Автор: sldaac
Дата сообщения: 19.12.2008 13:14

Цитата:
Если оставить только одно поле A1, то все работает, но при этом выбор в LookupList (там тоже два поля A1;A2) новой строки, не приводит к срабатыванию события OnChange, т.к. в паре A1;A2 меняется только A2, а отображаться должно A1.


ListfieldIndex попробуй поставить не 0 , номер поля А2 кажетя у вас 1

Автор: afiget
Дата сообщения: 19.12.2008 13:17

Цитата:
ListfieldIndex попробуй поставить не 0 , номер поля А2 кажетя у вас 1

Именно
Я же написал:


Добавлено:
The data source field to locate is identified via the ListFieldIndex property value, which represents the index of a field within the ListFieldNames list.
Автор: jicoff
Дата сообщения: 19.12.2008 13:47
sldaac

ListFieldIndex - это то, что отображается в поле редактирования, нужен именно 0.

Вопрос закрыт, спасибо afiget, обратил внимание на хелп, просто для одного поля все работало (возможно это глюк компоненты), поэтому не догадался сам туда посмотреть.
Автор: sldaac
Дата сообщения: 19.12.2008 15:00
как закрасить строку в девках cxGrid, с простой вьюшкой TcxGridDBTableView, данные из табл. два поля F1, F2, по условие если занчение поля F1=1 то строку закрасить в один цвет, если F1=0 то другой.
ps/где-то пробегало, не могу найти, подскажите плз. кто юзал, время поджимает.
спсб всем.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

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


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