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

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

Автор: marser
Дата сообщения: 07.04.2011 15:57
blckjck
Если говорить по простому, то cxTreeListNode - это строка в cxTreeList, а Values[Index] - значение в колонке (с номером Index) в этой строке.
Автор: bukerman1975
Дата сообщения: 07.04.2011 15:57
неужели ни у кого нет глюка с IncSearch?...
Автор: NatNiM
Дата сообщения: 07.04.2011 16:35
Подскажите, пожалуйста!
Работаю на C#, использую devexpress.xtragrid.gridcontrol, пытаюсь использовать колонку ItemCheckEdit.
Проблемы 2:
1. Так и не получилось, чтобы значения из базы отображались в ячейках (значения в БД целочисленного типа), грид их просто не видит.
2. выставляю check в гриде, в базу заносится значение, но при переходе на следущую запись, значение check-а меняется на исходное.

В чем может быть дело? Уже довольно долго борюсь с этим!
Автор: mdid
Дата сообщения: 07.04.2011 18:17
NickNNN
для того что бы такого не было..выводится пустая форма с фильтром..и пока не будет настроен фильтр записи не отображать...вы же не только этого усера давите временем но и остальных...так как ложится канал..а если 10 пользователей одновременно будут выгребать 20к?

Автор: marser
Дата сообщения: 07.04.2011 19:39
NatNiM

Цитата:
Подскажите, пожалуйста!
Работаю на C#, использую devexpress.xtragrid.gridcontrol, пытаюсь использовать колонку ItemCheckEdit.
Проблемы 2:
1. Так и не получилось, чтобы значения из базы отображались в ячейках (значения в БД целочисленного типа), грид их просто не видит.
2. выставляю check в гриде, в базу заносится значение, но при переходе на следущую запись, значение check-а меняется на исходное.

В чем может быть дело? Уже довольно долго борюсь с этим!

Если "галочки" не отображаются в ячейках, то скорее всего не совпадают или тип, или значения для ValueChecked, ValueUnchecked.

Цитата:
this.AKTPRM.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
....
this.repositoryItemCheckEdit8.ValueChecked = ((byte)(1));
this.repositoryItemCheckEdit8.ValueUnchecked = ((byte)(0));

Оракловый Number(3) - это не byte, а больше. Поиграйтесь с типами. Посмотрите в runtime какие значения и тип данных содержат ячейки. Ну и приведите в соответствие. Я не программирую под .Net, поэтому не знаю можно ли, как в VCL, конкретно задать тип данных для ValueChecked, ValueUnchecked.
Автор: vladman
Дата сообщения: 07.04.2011 23:32
ultima

Цитата:
Я поставил для ознакомления компоненты DevExpress, и обнаружив что проект скомпилированный на Delphi с установленными DevExpress компонентами становится непереносимым, на Delphi с пакетом PNGImage пропадают PNG картинки на кнопках из-за переопределения типа PNGObject.
Неудобно.

Теперь более понятно. Вот вам решение и без оторванных рук:
_http://www.devexpress.com/Support/Center/p/S34199.aspx
Автор: BlackVetal
Дата сообщения: 08.04.2011 05:32
NatNiM
Как сказал marser у вас не совпадает тип - сделайте поле булевым в БД (если MS SQL то 'bit'), либо нужно свойство, которое будет возращать вам булево значение в зависемости от значений вашего поля.
ЗЫ
Для тех кто использует девки под C# - неполенитесь изучить тему про XPO - очень мощным механизм для работы с БД, многие проблемы решаются буквально в одну строчку или уже предусмотрены самой технологией XPO ...
Автор: marser
Дата сообщения: 08.04.2011 07:08
BlackVetal

Цитата:
сделайте поле булевым в БД (если MS SQL то 'bit')

Цитата:
NatNiM
1. Oracle.
Number(3) - целочислнный тип, хотя в этом поле хранятся булевские данные.


Добавлено:
bukerman1975

Цитата:
уважаемые знатоки!
может быть вопрос уже обсуждался, найти не могу.
проблема такая, если в cxGrid поставить тип колумна - CurrencyEdit, в DisplayFormat - ",0.00;-,0.00", то инкрементальный поиск работает только до разделителя разрядов. то есть например есть число "123 456", так вот поиском выделяются только "123", дальше на нажатие "4" - грид не реагирует. естесственно incsearch везде стоит true. в чем фокус?

После ввода "123" нужно набрать символ ThousandSeparator. Если нет реакции на символ пробела, то попробуйте явно задать ThousandSeparator в коде приложения. Например, ThousandSeparator := ' ' или FormatSettings.ThousandSeparator := ' ' (для DelphiXE).
Автор: NatNiM
Дата сообщения: 08.04.2011 09:46
Здравствуйте.
Спасибо за помощь! Поучилось разобраться.
Теперь еще вопрос.
Тот же грид, нужно, чтобы в ячейке использовался ComboBox с выбором значений:

- учитывать
- не учитывать

В базе эти значения хранятся как 1 и 0.

Нужно как-то отнести в соответсвтвие выбираемое значение в гриде и значению в БД.

Подскажите, пожалуйста, как это можно решить?
Автор: f3ka
Дата сообщения: 08.04.2011 09:51
NatNiM
лучше всего для этого использовать cxImage(Lookup)ComboBox...
Автор: bukerman1975
Дата сообщения: 08.04.2011 11:07
marser

Цитата:
После ввода "123" нужно набрать символ ThousandSeparator. Если нет реакции на символ пробела, то попробуйте явно задать ThousandSeparator в коде приложения. Например, ThousandSeparator := ' ' или FormatSettings.ThousandSeparator := ' ' (для DelphiXE).

пробел пробовал сразу - не помогало, помогло, когда установил по вашей наводке вручную ThousandSeparator := ' '. спасибо!

но это отнюдь не решение проблемы, как я пользователю объясню, что между разрядами нужно набирать пробелы?

дело в том, что я переделываю старую программу на девэксах 3.2.2, так там стоит тот же ИнкСеарч, но такой проблемы нет, посик работает, хоть с разделителями, хоть без. недоглядели видимо разрабы...
Автор: marser
Дата сообщения: 08.04.2011 11:20
bukerman1975

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

Может быть, для поиска, стоит повесить строчку FilterRow.
Автор: bukerman1975
Дата сообщения: 08.04.2011 12:05
marser

Цитата:
Может быть, для поиска, стоит повесить строчку FilterRow.

ну вот опять вы не в ту сорону клоните. FilterRow я уже повесил. дело же не в этом, а в том, что люди работали несколько лет делая инкрементальный поиск, а тут вдруг он перес=стал работать. я понимаю, что можно обойти эту проблему, но я ищу ее решение, тем более, что это явно баг разрабов, так как раньше все работало ок.
Автор: vladman
Дата сообщения: 08.04.2011 23:31
bukerman1975

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

Ваша проблема описана здесь - _http://www.devexpress.com/Support/Center/p/Q90882.aspx.
Как вариант решения, попробуйте после начала Incremental searching установить форматирование значений стлобца по которому осуществляется поиск без использования разделителей тысяч. После выполнения поиска - форматирование верните в исходное значение.
Автор: Enjo19
Дата сообщения: 09.04.2011 18:48
Здравствуйте, вот скрин
http://s008.radikal.ru/i304/1104/ef/216011d9e885.jpg

что кинуть на форму , чтобы cxPivotGridChartConnection увидел???

з.ы. chart'ы кидал - не видит
Автор: V1s1ter
Дата сообщения: 10.04.2011 15:55
bukerman1975

Цитата:
люди работали несколько лет делая инкрементальный поиск, а тут вдруг он перес=стал работать

Раз
Цитата:
проблема описана здесь - _http://www.devexpress.com/Support/Center/p/Q90882.aspx.
то видемо путем установки некого штатного свойства проблему не решить.
Я бы промодифицировал либо исходник (меньше менять) либо обработчик OnKeyPress (менять для всех форм) на предмет автоматического добавления знака ThousandSeparator перед вводом каждой 4-й цифры. В общем я высказал предложение, а реализвций куча.

Автор: NickNNN
Дата сообщения: 10.04.2011 16:42

Цитата:
NickNNN
для того что бы такого не было..выводится пустая форма с фильтром..и пока не будет настроен фильтр записи не отображать...вы же не только этого усера давите временем но и остальных...так как ложится канал..а если 10 пользователей одновременно будут выгребать 20к?


mdid, проблему с процессом загрузки я решил гораздо проще, добавив две строчки в исходный код.

А что касается про 10 пользователей и 20К записей - теперь это не моя проблема - программа не виснет, рекомендации по выбору периода даны, пусть думают головой.
Автор: tatbesidovska
Дата сообщения: 11.04.2011 19:40
Добрый вечер! Скажите, пожалуйста, как у dateEdit Value поставить текущую дату, т.е когда загружается форма. Тоже самое у timeEdit - текущее время
Автор: X11
Дата сообщения: 11.04.2011 19:46
dateEdit.EditValue := date
Автор: tatbesidovska
Дата сообщения: 11.04.2011 20:01
в конструкторе где проставить? в EditValue нельзя проставить date
Автор: bukerman1975
Дата сообщения: 11.04.2011 20:37
всем спасибо за участие в моей проблеме, в итоге добавил такой код:
на OnKeyDown:

if cxGridDB.Controller.IsIncSearching then
begin
if TcxCurrencyEditProperties(cxGridDB.Controller.IncSearchingItem.Properties).DisplayFormat = ',0.00;-,0.00' then
TcxCurrencyEditProperties(cxGridDB.Controller.IncSearchingItem.Properties).DisplayFormat := ''
end

на OnKeyUp:

if cxGridDB.Controller.IsIncSearching then
begin
if TcxCurrencyEditProperties(cxGridDB.Controller.IncSearchingItem.Properties).DisplayFormat = '' then
TcxCurrencyEditProperties(cxGridDB.Controller.IncSearchingItem.Properties).DisplayFormat := ',0.00;-,0.00'
end
Автор: GuSoft2007
Дата сообщения: 12.04.2011 13:26
на фоме dxBarManager1Bar1 c несколькими итемами, dxBarManager1, dxSkinController1 и несколько кнопок. все нормально работает. раздражает следущее: если не трогать маус и клаву, то ровно через 60 сек. элементы управления начинают заметно "дергаться" (можете у себя проверить).
если скинконтрол отключить то дергания нет. таймеров нигде вроде нет и в настройках компонентов тоже ничего не нашел, лазил, лазил в недрах дэ, вообщем нашел, что следы ведут кудато в дев. шедулеры chscheduler*.pas, которые прописаны практически везде (во многих модулях) и включаются через 60 секунд после отсутствия действий.

Как их выключить по умолчанию?
Автор: deusex3
Дата сообщения: 12.04.2011 19:06
Господа, подскажите пожалуйста,
написал прогу на VisualStudio2008 C# c надстройкой DXperience for 2008,
(используются из этой библиотеки trakbarControl,labelControl)
сделал релиз, там по умолчанию установщик создаётся, но приложение с него не ставится - выходит ошибка " Не удалось найти часть пути "C:\...\Home.exe.manifest"."

взял файлы лежащие в релизе(exe'шник+библиотеки)

В итоге эта прога не запускается, если не ставить DXperience, на других компах.

Еще на другом компе стоит VisualStudio2010 + DXperience for 2010, прога так же не запускается
(при клике на exe'шник ничего не происходит)

http://ifolder.ru/22925292
Автор: BlackVetal
Дата сообщения: 13.04.2011 05:59
deusex3
в проекте в "references" для каждой библиотеки от девок постаить свойства
1. "Copy Local" = true - решит твою проблему
2. "Specific Version" = false - советую ставить это свойство - потом легче обновлять на более старшие версии девок.
Автор: tatbesidovska
Дата сообщения: 13.04.2011 10:30
Возник такой вопрос:
есть форма, на ней родит.gridView и childgridView(подчиненный). На загрузку формы стоит
ExpandAllRows(gridView1)(раскрываются все строки), это для того, чтобы пользователь мог сразу видеть все записи в подчинении главной. Но тут-то и возникает проблемка, если у главного нет подчиненной записи, все-равно открывается подчиненный grid с одной пустой строкой. Можно ли как-то сделать, чтобы если нет в подчинении записи, то '+' главной записи не раскрывался, а если есть в подчинении записи, то раскрывался. заранее спасибо
Автор: fortezza
Дата сообщения: 13.04.2011 13:34
подскажите, как по TableView обратиться к Level или наоборот??
Автор: X11
Дата сообщения: 13.04.2011 13:44
у level есть свойство GridView, неужели в диспетчере свойств этого не видно?

Автор: deusex3
Дата сообщения: 13.04.2011 14:01
В С# немного по другому
http://img27.imageshack.us/img27/847/prope.jpg
Причем эти библиотеки добавляются только при публикации в publish\...
В С++ они добавляются и при построении(Release\..) .

Для работы моей проги нужно еще отдельно установить inpout32.dll
http://ifolder.ru/22939588

Еще на одном протестил - выводит ошибку system.io.fileloadexception; Event type clr20r3
Если установить на него DXperience - должна будет заработать.

Кстати на компе, где стоит VisualStudio2010 + DXperience for 2010 прога запустилась - inpout32 забыл доустановить.
Автор: fortezza
Дата сообщения: 13.04.2011 14:18
X11, спасибо. все видно. туплю.
Автор: BlackVetal
Дата сообщения: 14.04.2011 06:10
deusex3

Цитата:
В С# немного по другому

ты пробовал свойства DLL открывать в Solution Explorer? я пишу на C# в принцепе уже пару лет, и Release (Debug, publish) никогда не возникало проблем ни с девками, ни с другими библиотеками (кроме 1С - тут только ставить на клиента).


Добавлено:
tatbesidovska
Может попробовать событие MasterRowExpanding обрабатывать (это событие в девках под C#)?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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