Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)

Модерирует : ShIvADeSt

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

   

golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DevExpress

Обмен опытом, обсуждение нюансов и решение проблем возникающих при использовании библиотеки компонент Developer Express




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
Vadim153

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Thanks for help.
ORDER BY разумеется делаю по  RegionCountryID, но это не решает проблему
Очень странно выглядит такая разница в работе Dev компонента с ADOTable и ADOQuery.
По своим внутренним механизмам ADOTable сам составляет запрос и получает набор данных. В ADOQuery пишем ручками.
Вообще-то, ADOQuery и ADOTable - это "фантики" от ADODataSet, к тому же обрезанные по возможностям. Строго говоря их использование сильно вредит мозгам программиста, скрывая действительные возможности и универсальность ADODataSet. Мастера от БД считают их крайне вредными и подлежащими безусловному удалению из палитры компонентов.
Хм, действительно, надо попробовать ADODataSet.
 
...
 
ADODataSet работает нормально, у него кстати есть IndexFieldNames, как и у ADOTable.

Всего записей: 51 | Зарегистр. 19-08-2009 | Отправлено: 14:17 22-08-2009 | Исправлено: Vadim153, 14:53 22-08-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D2007, Fib+ 6.9.6, Dev 43.
cxGrid привязан к TpFibDataSet. У TpFibDataSet все SQL заполнены, в том числе и UpdateSQL. Также и TpFibDataSet.AutoCommit := true;
 
Вот код

Код:
 
aRecordIndex := 3;
....
 
  dbgMail.DataController.Edit;
  dbgMail.DataController.Values[aRecordIndex, dbgMailLAST_DATE.Index] := now;
 
выводим сообщение, дата показана правильно
  ShowMessage(dbgMail.DataController.Values[aRecordIndex, dbgMailLAST_DATE.Index]);
 
  dbgMail.DataController.Post;
  dbgMail.DataController.RefreshExternalData;
 

 
данные в поле LAST_DATE не попадают, как были NULL, так и остались.
Ошибок и исключений нет.
 
Но.....
Если выполнить тоже самое, но уже непосредственно с TpFibDataSet
 
  tMail.Edit;
  tMail.FBN('LAST_DATE').AsDateTime := now;
  tMail.post;
  tMail.refresh;
то данные в поле LAST_DATE попадают (записываются).
 
Что может быть не так, когда записываешь через cxGrid?
 
 
Кстати вот ещё кусок кода, прекрасно изменяющий данные в таблице (та же самая связка компонент):

Код:
 
        with dbgMail.DataController do
          begin
            Edit;
            with fmEmailEdit do
              begin
                dbgMailNAME.EditValue           := edMailListName.EditValue;
                dbgMailRECIPIENT.EditValue      := GetMyRecipients(lboxRecipientList);
                dbgMailRECIPIENT_COPY.EditValue := GetMyRecipients(lboxRecipientListCopy);
                dbgMailSUBJECT.EditValue        := edSubject.EditValue;
                dbgMailTITLE.EditValue          := memoTitle.Text;
                dbgMailBODY.EditValue           := memoBody.Text;
                dbgMailFOOTER.EditValue         := memoFooter.Text;
                dbgMailCATEGORY.EditValue       := cboxCategory.EditValue;
//                dbgMailSMTP_FROM.EditValue      := edSMTP_From.Text;
                dbgMailLOCKED.EditValue         := cboxLocked.Checked;
                dbgMailSMTP_FROM.EditValue      := vgAccountSMTPFrom.Properties.Value;
 
                dbgMailFROM_NAME.EditValue      := vgAccountFromName.Properties.Value;
                dbgMailE_MAIL.EditValue         := vgAccountEMail.Properties.Value;
 
                dbgMailPOP3.EditValue           := vgAccountPop3.Properties.Value;
                dbgMailPOP3_PORT.EditValue      := vgAccountPop3Port.Properties.Value;
                dbgMailPOP3_USER.EditValue      := vgAccountPop3User.Properties.Value;
                dbgMailPOP3_PASSWORD.EditValue  := vgAccountPop3Pass.Properties.Value;
                dbgMailPOP3_SSL.EditValue       := vgAccountPop3SSL.Properties.Value;
 
                dbgMailSMTP.EditValue           := vgAccountSMTP.Properties.Value;
                dbgMailSMTP_PORT.EditValue      := vgAccountSMTPPort.Properties.Value;
                dbgMailSMTP_USER.EditValue      := vgAccountSMTPUser.Properties.Value;
                dbgMailSMTP_PASSWORD.EditValue  := vgAccountSMTPPass.Properties.Value;
                dbgMailSMTP_TYPE_CRYPT.EditValue:= vgAccountSMTPTypeCrypt.Properties.Value;
                dbgMailPOP3_BEFOR_SMTP_AUTH.EditValue := vgAccountPOP3_BEFOR_SMTP_AUTH.Properties.Value;
 
              end;//with
           Post;
 


----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 02:38 23-08-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11

Цитата:
Что может быть не так, когда записываешь через cxGrid?  

ms-help://borland.bds5/ExpressDataController.BDS5/ExpressDataController/IDH_TcxCustomDataController_Values.htm
TcxCustomDataController.Values.
You can change cell values using the Values property only in provider and unbound modes. To modify records in bound mode, you should use the functionality provided by your dataset instead.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 10:54 23-08-2009
Vadim153

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как поменять стиль сразу, например, на всех кнопках?

Всего записей: 51 | Зарегистр. 19-08-2009 | Отправлено: 12:43 23-08-2009
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vadim153, никак.
 
Есть cxDefaultEditStyleController, который позволяет установить всем cx-овским компонентам поменять стиль единовременно, но он, именно кнопки cxButton не знает.
 
Поэтому, надо будет сделать цикл по компонентам формы:
for i := 0 to Self.ComponentCount - 1 do
begin
    if Self.Components(i).ClassNameIs('TcxButton') then
             TcxButton(Self.Components(i)).LookAndFeel.Kind := ВАШЕ
end;
 
Насчет того, что кнопки не поддерживаются написано здесь:
http://www.devexpress.com/Support/Center/p/DQ16996.aspx?searchtext=cxButton+cxDefaultEditStyleController&p=T1|P0|0

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 14:16 23-08-2009
FunCode



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
korobovmax

Цитата:
cxDefaultEditStyleController

да в принципе и из названия следует, что применим только к "Edit'ам" ...

Всего записей: 182 | Зарегистр. 22-10-2006 | Отправлено: 14:19 23-08-2009
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Можно еще использовать компонент cxLookAndFeelController, который поменяет стили большинству компонентов DevExpress, в том числе и кнопок (за исключение Баров - там самому надо у БарМенеджера).

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 14:23 23-08-2009
Vadim153

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! Только начинаю разбираться с Dev компонентами
Еще вопрос: Как после insert-а записи выделить нужную ячейку?
В Гриде несколько уровней, как программно выбрать нужный и получить доступ к полям?

Всего записей: 51 | Зарегистр. 19-08-2009 | Отправлено: 14:54 23-08-2009 | Исправлено: Vadim153, 15:10 23-08-2009
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vadim153

Цитата:
В Гриде несколько уровней, как программно выбрать нужный

http://devexpress.com/Support/Center/p/Q19026.aspx?searchtext=level+focused&p=T1|P0|0
http://devexpress.com/Support/Center/p/B4249.aspx

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 21:24 23-08-2009
makz

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Thnx!

Всего записей: 1034 | Зарегистр. 17-05-2003 | Отправлено: 07:24 24-08-2009 | Исправлено: makz, 07:25 24-08-2009
FunCode



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vadim153

Цитата:
В Гриде несколько уровней, как программно выбрать нужный и получить доступ к полям?

что имеется ввиду под уровнями - MasterDetail или Levels ?

Всего записей: 182 | Зарегистр. 22-10-2006 | Отправлено: 09:21 24-08-2009
Andysoft3C

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет всем.
Подскажите, есть проект, в нем много окон, главная MDI, остальные MDIChild,
встала задача сделать отображение дочерних окон по аналогии MS Visual Studio 2005 (по типу закладок). Можно ли такое осуществить с помощью Devexpress (DockPanel, DockSite), без переделки окон во фреймы.

Всего записей: 53 | Зарегистр. 07-08-2006 | Отправлено: 15:50 24-08-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andysoft3C
можно... использовать ManualDock у форм

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 16:09 24-08-2009
Andysoft3C

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
f3ka
Можно немного по подробней никогда не использовал.

Всего записей: 53 | Зарегистр. 07-08-2006 | Отправлено: 16:32 24-08-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andysoft3C
думаю что самый лучший вариант это почитать здесь про ManualDock

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 16:50 24-08-2009
korstin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Бьюсь второй день над вопросом, безрезультатно. Пришел сюда.
Есть cxGrid и TcxGridDBBandedTableView, датасет TdxMemData, заполняется в рантайме.
Грид заполняется в рантайме "руками", в разрезе двух измерений. Допустим, возьмем прием врачей. Тогда измерения два: слева - Врач, вверху - время (рисунок http://pic.ipicture.ru/uploads/090825/8rwk6QTJT7.jpg)
 
каждый визит характеризуется набором признаков (какие это признаки - неважно). в зависимости от признаков - ячейка должна быть окрашена в нужный цвет (например, на рисунке серый, синий и белый). раскрасить всю строку в зависимости от значения в строке - могу. закрасить ячейку в зависимости от значения в ячейке (предварительно его туда записав?) - уже в затруднении.
 
Помогите подсказкой
 
Добавлено:
Ссылка захватывается со скобкой, правильная ссылка http://pic.ipicture.ru/uploads/090825/8rwk6QTJT7.jpg

Всего записей: 65 | Зарегистр. 27-10-2007 | Отправлено: 07:51 25-08-2009
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
korstin, заведите поле в TdxMemData.
В зависимости от признаков заполняйте это поле, например, значениями 1, 2, 3.
В гриде при перерисовки любой ячейки используйте значение поля для рисования. Тогда вся строка будет того цвета, который нужен.

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 11:13 25-08-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В cxGrid есть поле Properties := HyperLink
Можно как-то заставить по щелчку открывать в браузере ссылку? Или только ручками через OnClick самого грида?
SingleClick := True не помогает.
 
Получается, что Properties := HyperLink только для подсветки текста, как ссылки?

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 17:56 25-08-2009 | Исправлено: X11, 17:57 25-08-2009
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
В cxGrid есть поле Properties := HyperLink
Можно как-то заставить по щелчку открывать в браузере ссылку? Или только ручками через OnClick самого грида?
SingleClick := True не помогает.
 
Получается, что Properties := HyperLink только для подсветки текста, как ссылки?

 
По SingleClick - открывается с первого клика, иначе - по двойному клику.
Если у вас в любом положение флажка не срабатывает, значит отключено Inplace-редактирование.
Оно работает, если у грида OptionsSelection.CellSelect = True, у столбца Options.Editing и у грида OptionsData.Editing.
 
Без Inplace'а никакой редактор не работает.

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 18:09 25-08-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уточню. Т.е. если у меня грид работает в режиме "readonly", то нужно будет ректально открывать ссылку по щёлчку?

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 20:01 25-08-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru