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

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

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

ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 122

   

ShIvADeSt



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

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




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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:16 29-01-2007 | Исправлено: VitaliM, 15:47 24-11-2008
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
jicoff, круто!
 
У меня такой вопрос: я в OnGetContentStyle собираю стиль для ячейки, проверяю условия применения собранного стиля. Вопрос: а как изменить обычный цвет фона в выделенной ячейке (ячейки, у которых selected и focused = 1, editing = 0)?
Присваивать свой стиль к DBTableView.Styles.Selection нельзя, пользоваться OnCustomDraw тоже

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 17:55 02-08-2007 | Исправлено: korobovmax, 17:56 02-08-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
korobovmax
 
А разве менять у стиля Color не приводит к нужному результату?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 21:41 02-08-2007
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не-а.
При Focused - обычный синий цвет выделенного, при не focused - обычный серый.
Если давать DBTableView.Styles.Selection все ок, только это нельзя

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто нибудь может объяснить, почему после перехода на июньскую версию девок при экспорте данных из грида в Excel (метод ExportGridToExcel) перестали выводиться данные группировок, т.е. в гриде есть значение сумм по группам, в экселевском листе - нет? Как вернуть эти данные?

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 13:55 03-08-2007
nadazero

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста разобраться с  сохранением данных в базу из XtraGrid.
Невысокий уровень знаний в области программирования не позволяет мне решить мою проблему самостоятельно.
 
Суть проблемы:
Не получается отослать в базу данных изменнения в таблице.
 
Аналогичная проблема здесь обсуждалась и была решена следующим образом:
автотранспортTableAdapter.Update(tyreManagerDataBaseDataSet.Автотранспорт);
 
После применения мною аналогичного кода, выдается сообщение:
"Update requires a valid UpdateCommand when passed dataRow collection with modified rows".
 
В  DataSet дизайнере обнаружил, что команде Update не сопоставлен SQL запрос.
Самостоятельно составленный запрос вносит в  базу данных лишь последнее изменение, причем во весь столбец.
 
Пожалуйста подскажите, как грамотно составить SQL запрос для команды Update.
Или может я вообще не с той стороны подхожу к вопросу сохранения данных?
 
Заранее благодарен!

Всего записей: 1 | Зарегистр. 01-08-2007 | Отправлено: 14:43 05-08-2007
leonbn

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
Смотри
Сам мучаюсь. Обещают пофиксить в следующем релизе. Хотя некоторые получили апдейт по почте.

Всего записей: 73 | Зарегистр. 24-06-2004 | Отправлено: 23:27 05-08-2007
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
leonbn
Плохая новость, придется лезть в исходники, править ручками, бо фикса от них по мылу не дождаться - рылом (лицензией, точнее ее отсутствием) не вышел

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 14:07 06-08-2007
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Похоже мой вопрос тут потонул.
С первым пунктом вопроса разобрался с помощью DrawText: Подробнее...
А вот второй пункт вопроса остаётся открытым.

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 15:52 06-08-2007 | Исправлено: skinash, 16:25 06-08-2007
DrunkFlier



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пытаюсь засунуть экранные формы в dll, как только на форму попадает компонент из DevExpress, появляется  
Access Violations. В чем может быть проблема (BDS2006)

Всего записей: 31 | Зарегистр. 24-11-2003 | Отправлено: 17:44 06-08-2007
Katerinochka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, как установить исходники и главное, как пользоваться ими для нужных контролов?
У меня есть исходники DXperience 7.1.1 для VS2005, но в студии уже стоял DXperience 7.1.4 без исходников. Я закачала исходники в папку C:\Program Files\Developer Express .NET v7.1\Sources и допустим хочу посмотреть код DateEdit и немножко его отредактировать. Это возможно, есди да, то как?

Всего записей: 6 | Зарегистр. 06-08-2007 | Отправлено: 18:06 06-08-2007
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DrunkFlier
Не знаю, я попробовал, у меня всё работает. Единственное, что у меня не простая dll, а содержащая InProc сервер. DevExpress здесь не причём. Ищи ошибку у себя.

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 12:50 07-08-2007
DrunkFlier



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если со стандарными компонентами форма вызывается без проблем, а как только появляется компонент от Девок - сразу вылазит Access Violation. То наверное DevExpress здесь причём

Всего записей: 31 | Зарегистр. 24-11-2003 | Отправлено: 15:26 07-08-2007 | Исправлено: DrunkFlier, 15:27 07-08-2007
PaulNBir

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

Цитата:
А вот второй пункт вопроса остаётся открытым

мне кажется, что для этой задачи больше подойдет TcxImageComboBox. он как раз заточен под отображение подобных данных

Всего записей: 61 | Зарегистр. 02-09-2003 | Отправлено: 12:30 08-08-2007
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PaulNBir
TcxImageComboBox нужны уже готовые картинки, причём маленькие (для показа в Edit'e) и большие (для показа в DropDownList). В моей же задаче картинки генерятся, в зависимости от стиля пера. Как я уже раньше говорил, в обычном TComboBox таких проблем нет.

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 13:34 08-08-2007
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Решил свой вопрос.
 
Перекрываю OnCustomDraw ячейки (у меня наследник TcxGridDBTableView) и в нем вызываю свой же OnGetContentStyle так:
OnGetContentStyle(Sender, AViewInfo.GridRecord, AViewInfo.Item, TempStyle), где в TempStyle запишется нужный цвет.
Дальше банально:
    if TempStyle <> nil then
      ACanvas.Brush.Color := TempStyle.Color;
 
Все, теперь цвет выделения свой.

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skinash
тогда, например, вот так:

Код:
 
    ...........
    Brush.Style := TBrushStyle(AIndex);
    if odFocused in AState then
      begin
        if Brush.Style = bsClear then
          Brush.Color := clWhite
        else
          Brush.Color := clBlack;
        Pen.Color := clBlack;
      end
    else
    if odSelected in AState then
    begin
    ...........
 

Всего записей: 61 | Зарегистр. 02-09-2003 | Отправлено: 15:59 08-08-2007
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PaulNBir
Спасибо, помогло. Теперь бы с логикой разобраться, чем odFocused отличается от odSelected. Ведь в таком варианте получается такая фигня:Подробнее..., то есть цвет пера (Pen) подсвеченного пункта должен быть белым (как у текста), а не чёрным.
 
...
Нет, думаю здесь AState'ами не обойтись. Он ведь одновременно один и тот же Item рисует одновременно и в Edit'е и в DropDownList...

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 16:14 08-08-2007 | Исправлено: skinash, 16:34 08-08-2007
PaulNBir

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skinash
попробуй заменить odFocused на odComboBoxEdit.  
проблема не в отличии - это я там слегка ошибся. главное отловить какое состояние имеет сам эдит и не имеет выделенный элемент списка (odSelected есть у эдита, поэтому на белом фоне все и рисовалось белым)

Всего записей: 61 | Зарегистр. 02-09-2003 | Отправлено: 16:46 08-08-2007 | Исправлено: PaulNBir, 16:58 08-08-2007
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PaulNBir
Вот такую логику я забабахал:

Код:
   if (odFocused in AState) and not AControl.DroppedDown then
    begin
      case Brush.Style of
        bsSolid: Brush.Color := clBlack;
        bsClear: Brush.Color := clHighlight;
      else
        Brush.Color := clWhite;
      end;
      Pen.Color := clWhite;
    end
    else if odComboBoxEdit in AState then
    begin
      if Brush.Style = bsClear then
        Brush.Color := clWhite
      else
        Brush.Color := clBlack;
      Pen.Color := clBlack;
    end
    else if odSelected in AState then
    begin
      case Brush.Style of
        bsSolid: Brush.Color := clBlack;
        bsClear: Brush.Color := clHighlight;
      else
        Brush.Color := clWhite;
      end;
      Pen.Color := clWhite;
    end
    else
    begin
      if Brush.Style = bsClear then
        Brush.Color := clWhite
      else
        Brush.Color := clBlack;
      Pen.Color := clBlack;
    end;

Выглядит не совсем элегантно, но работает так как хотелось. Может кто предложет более красивый способ?

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 20:50 08-08-2007 | Исправлено: skinash, 08:58 09-08-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skinash
 
Вообще-то Selected не всегда Focused, а Focused всегда Selected.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 17:03 09-08-2007
   

Страницы: 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 122

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress 2
ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru