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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



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

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




 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть, третья часть

Полезные утилиты:
DxAutoInstaller v2.1.10 Простой и удобный тул для установки девок из исходников
https://mega.nz/#!aJRQzSqI!N7RgfcG1tfF45Z3OgcmBDHT_ZcWlIgJQ5eHHgQ9VupE

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:48 31-12-2009 | Исправлено: G787, 21:12 29-07-2018
d3adb33f



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Уже разобрался, я просто ожидал некий аналог функционала стандартного RadioGroup, а тут оказалось нужно немножко через тройной тулуп.
 
makz кто такой и.в. ?  
 

Всего записей: 564 | Зарегистр. 08-10-2015 | Отправлено: 17:22 12-10-2015
KDPoid



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

Цитата:
makz кто такой и.в. ?  

_http://dic.academic.ru/dic.nsf/dic_wingwords/779/%D0%94%D1%80%D1%83%D0%B3%D0%B8%D1%85

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 19:53 12-10-2015
d3adb33f



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос про DxSpellChecker
 
По умолчанию, при вызове popup над словом с ошибкой выводится меню с вариантами исправлений, а как сделать, что бы список слов для исправления был в подменю моего меню.
или если не в подменю то хотя бы как совместить моё меню с меню SpellChecker-а?
 
И реально ли такое ?
 
Если не реально то как жить дальше ?

Всего записей: 564 | Зарегистр. 08-10-2015 | Отправлено: 16:48 15-10-2015
dimm78

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

Цитата:
По умолчанию, при вызове popup над словом с ошибкой выводится меню с вариантами исправлений, а как сделать, что бы список слов для исправления был в подменю моего меню.
или если не в подменю то хотя бы как совместить моё меню с меню SpellChecker-а?
 
И реально ли такое ?
 
Если не реально то как жить дальше ?

 
Вполне реально. Определяешь слово под курсором. На событии OnPopup своего меню получаешь список вариантов для этого слова через функцию GetSuggestions SpellChecker-а и дополняешь динамически свое меню. Новые элементы меню можно хранить в отдельном списке, чтобы быстро их уничтожить при следующем вызове меню в другом месте. Что-то вроде этого (выдернул из проекта):
 
      Sender.SelectWordAt(X, Y); //у меня Sender это TRichViewEdit
 
      lSpellCheckerSuggestionList := ASpellChecker.GetSuggestions(lWord);
      try
        for i := 0 to lSpellCheckerSuggestionList.Count - 1 do
        begin
          BarItemLink := APopupMenu.ItemLinks.Insert(I);
 
          BarItemLink.Item := APopupMenu.BarManager.AddButton;
          BarItemLink.Item.Caption := lSpellCheckerSuggestionList.Items[I].Word;
 
          BarItemLink.Item.Data := Sender;  
          BarItemLink.Item.OnClick := ButtonClick;
 
          SpellCheckPopupList.Add(BarItemLink.Item);
        end;
 
        if lSpellCheckerSuggestionList.Count = 0 then
        begin
          BarItemLink := APopupMenu.ItemLinks.Insert(0);
 
          BarItemLink.Item := APopupMenu.BarManager.AddButton;
          BarItemLink.Item.Caption := '<нет вариантов>';
          BarItemLink.Item.Enabled := False;
          SpellCheckPopupList.Add(BarItemLink.Item);
        end;
      finally
        FreeAndNil(lSpellCheckerSuggestionList);
      end;
 
      в обработчике ButtonClick подменяешь слово под курсором на Caption пункта меню. Пример для TCustomRichView
 
      class procedure XXXXXX.ButtonClick(Sender: TObject);
      begin
        if (Sender is TdxBarButton) and (TdxBarButton(Sender).Data is TCustomRichViewEdit) then
           (TdxBarButton(Sender).Data as TCustomRichViewEdit).InsertText(TdxBarButton(Sender).Caption);  
      end;

Всего записей: 162 | Зарегистр. 07-12-2005 | Отправлено: 17:15 15-10-2015 | Исправлено: dimm78, 17:24 15-10-2015
d3adb33f



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

Всего записей: 564 | Зарегистр. 08-10-2015 | Отправлено: 18:22 15-10-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DevExpress 2012 1.6
 
cxGridTableView
 
Как можно задать раскраску ячейки, которая в фокусе ?
Вроде бы, всё перепробовал. Остальную строку selected можно покрасить, а фокус упорно рисуется стилем для Content.
 
Что, писать обработчик на onCustomDrawCell ?
Странное отношение к фокусу... Что за священная корова...

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 12:52 16-10-2015
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Используй стили

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:10 16-10-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да я, вроде бы, и пытался...
Какой стиль отвечает за ячейку в фокусе ?
У меня фокус отрисовывается стилем Content, что мне кажется несколько странным...
 
Пришлось написать
Код:
 
procedure TForm1.cxCustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
  if aViewInfo.Focused then
  begin
    aCanvas.Brush.Color := TableView.Styles.Selection.Color;
    aCanvas.Font.Color  := clLime;
    aCanvas.Font.Style  := [fsBold];
  end;
end;
 

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 15:22 16-10-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cxGrid
В нем DBTableView, в котором наопределено полей.
 
Пытаюсь сохранить пользовательские настройки при помощи cxPropertiesStore...
Наотмечал характеристик, которые хочу сохранить, но...
 
Как сохранить установленный пользователем порядок столбцов ?!?!?
 
Всё можно, а порядок - нет ?
Неверное, потому что пропертя не published...
 
Как ленивые люди поступают в таких случаях ?
Морщатся и идут писать руками ?

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 15:36 20-10-2015
dimm78

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KDPoid
 
У View есть методы StoreTo... и RestoreFrom... которые отвечают за сохранение и восстановление настроек отображения (порядок колонок, сортировка и т.п.). Позволяют сохранять в поток, ini файл, реестр  

Всего записей: 162 | Зарегистр. 07-12-2005 | Отправлено: 23:01 20-10-2015
KDPoid



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimm78,
И как мне это должно помочь ?
 
StoreTo и RestoreFrom - лишь способ форсировать чтение-запись, которые и так делаются, достаточно указать PropertiesStore.Active := True;
 
Но, подлежит сохранению список, который надо выбрать в редакторе компонента.
И как там указать, что я хочу сохранять и восстанавливать cxGridDBTableView1.Columns[i].Index ?

Всего записей: 404 | Зарегистр. 08-08-2006 | Отправлено: 07:33 21-10-2015
makz

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

Цитата:
StoreTo и RestoreFrom - лишь способ форсировать чтение-запись

Да ну?!
Тут примеры:
https://www.devexpress.com/Support/Center/Question/Details/T165718

Всего записей: 1034 | Зарегистр. 17-05-2003 | Отправлено: 09:54 21-10-2015
MagistrAnatol



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как определить на каком из гридов я сейчас нахожусь - на мастер уровне или на детайл?

Всего записей: 2120 | Зарегистр. 09-04-2003 | Отправлено: 12:58 23-10-2015
dimm78

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MagistrAnatol
 
 if <cxGrid>.FocusedView.IsDetail then
    AView := <cxGrid>.FocusedView.PatternGridView
 else
    AView := <cxGrid>.FocusedView;

Всего записей: 162 | Зарегистр. 07-12-2005 | Отправлено: 14:58 23-10-2015
alsterkh

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день! Подскажите, может кто знает. Есть в TcxGridDBTableView панель поиска FindPanel. Как сделать, чтобы при открытии формы фокус был в строке поиска?

Всего записей: 181 | Зарегистр. 07-10-2009 | Отправлено: 11:42 03-11-2015
dimm78

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alsterkh
 
type
  TcxGridTableControllerAccess = class (TcxGridTableController);
 
  TcxGridTableControllerAccess(<AView>.Controller).FindPanel.Edit.SetFocus;

Всего записей: 162 | Зарегистр. 07-12-2005 | Отправлено: 13:23 03-11-2015
alsterkh

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

Всего записей: 181 | Зарегистр. 07-10-2009 | Отправлено: 13:43 03-11-2015
vcrank

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, как можно связать 3 таблицы в двухуровневом гриде?
Таблица 1 - Список клиентов
Таблица 2 - Список уколов
Таблица 3 - Список препаратов
 
Таблица 1 и 2 связаны между собой самым обычным образом. В гриде в таблице второго уровня через LookupCombobox отображаются названия прививок
Таблицы 2 и 3 связаны тоже обычным образом (каждой прививке может соответствовать несколько препаратов)
 
   
 
Как в гриде сделать выпадающие список в колонке Вакцина и чтобы в этом выпадающем списке были препараты, соответствующие только для текущей прививки? Соответственно переходим на след. строку и выпадающий список обновляется на новые значения.
Ну и само собой заносился бы только ID, а не само название

Всего записей: 1067 | Зарегистр. 24-10-2005 | Отправлено: 23:31 03-11-2015
dimm78

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vcrank
 
Посмотри вот эти примеры  
_https://www.devexpress.com/Support/Center/Question/Details/T135466
_https://www.devexpress.com/Support/Center/Question/Details/T246058

Всего записей: 162 | Зарегистр. 07-12-2005 | Отправлено: 01:20 04-11-2015 | Исправлено: dimm78, 01:23 04-11-2015
G787



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

Всего записей: 1035 | Зарегистр. 04-12-2005 | Отправлено: 23:56 09-11-2015 | Исправлено: G787, 00:02 10-11-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 4)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru