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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
LadyOfWood

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

Цитата:
Где взять Английский ini файл локализации

Локализации чего? В девах все изначально на английском.

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 01:17 12-05-2014
dred2k



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
G787
Там все просто.
За работу с локализациями отвечает класс TcxLocalizer - и писать, и читать он умеет. По нему есть вполне человечный хелп. А если что, как пример для затравки - вот модуль, который я просто добавляю к проекту, и весь Дев на этапе исполнения становится русским (в ресурсе - как раз инишник). Для всякого - сделаешь по вкусу (сорцы девов есть же, глянь)...  
 

Код:
 
unit xxxUtils.DevEx.Lang;
 
interface
 
uses SysUtils, Classes, cxLocalization;
 
const
  DefLanguageIndexRussian : Integer = 1049;
 
  // Перевод строковых констант DevExpress
  procedure DevExpressTranslate(const ALanguageIndex : Integer = 1049);
 
implementation
 
{$RESOURCE 'xxxUtils.DevEx.Lang.res'}
 
var
  FL : TcxLocalizer = nil;
 
procedure DevExpressTranslate(const ALanguageIndex : Integer);
begin
  if(not Assigned(FL)) then
    FL := TcxLocalizer.Create(nil);
  with FL do
  begin
    Active := False;
    StorageType := lstResource;
    Active := True;
    LanguageIndex := ALanguageIndex;
  end;
end;
 
initialization
begin
  DevExpressTranslate(DefLanguageIndexRussian);
end;
 
finalization
begin
  if(Assigned(FL)) then
    FreeAndNil(FL);
end;
 
end.
 

Всего записей: 403 | Зарегистр. 15-02-2006 | Отправлено: 06:26 12-05-2014 | Исправлено: dred2k, 06:49 12-05-2014
G787



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dred2k
LadyOfWood
 
У меня ситуация такая, по дефолту девки русские, уже не помню как я это сделал.
По этому и ищу английскую локаль, там ini или Res

Всего записей: 1035 | Зарегистр. 04-12-2005 | Отправлено: 08:51 12-05-2014
exteris

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
G787
Если девки локализовались заменой pas-файлов то проще, наверное, переустановить.

Всего записей: 382 | Зарегистр. 14-04-2003 | Отправлено: 09:48 12-05-2014
dred2k



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
G787
Английская локаль - дефолтная для девок, поэтому она уже "встроена". Попробуй использовать мой код, только убери подключение файла ресурсов. Код языка - это на самом деле код локали  (http://ru.wikipedia.org/wiki/%CB%EE%EA%E0%EB%FC).  
Для английского будет 1033. При желании сможешь в рантайм выгрузить английский в виде отдельной инишки (в коде вроде все очевидно...). Насчет русификации pas-файлами ничего не скажу, надо посмотреть (нет сейчас девок под рукой).

Всего записей: 403 | Зарегистр. 15-02-2006 | Отправлено: 15:40 12-05-2014 | Исправлено: dred2k, 15:43 12-05-2014
Blindfold



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Коллеги,
 
подскажите, пожалуйста, возможное решение задачи:
 
Есть cxGrid с TcxGridDBTableView на нем. Необходимо чтобы при удалении записи в гриде (кнопкой из навигатора или кнопкой Del на клавиатуре, не важно) запись не пропадала из грида. Потому как она физически не удаляется, а меняется ее статус в базе данных. И она должна просто подсвечиваться красным бэкграундом. Вся возня с данными происходит в датасете. Используется SDAC для доступа к базе. В SQLDelete прописан запрос который вместо удаления делает апдейт и замечательно справляется с задачей. Если после коммита сделать рефреш, то в гриде опять появляется удаленная запись, подсвеченная как надо и все замечательно. Проблема в том, то я не могу делать рефреш после каждого удаления, так как нужно использовать CachedUpdates, и весь мой кэш слетает после рефреша.
 
Есть ли способ заставить грид не удалять запись при удалении? Но чтобы при этом до датасета дошла команда на удалениее записи.

Всего записей: 8 | Зарегистр. 13-01-2006 | Отправлено: 08:49 14-05-2014
dred2k



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Blindfold
А зачем тогда SQLDelete? Обновляйте поле флага удаления, создайте запрос его обновления (или добавьте это поле в уже существующий запрос обновления записи). Это же CachedUpdates... Тогда все сойдется. Если в запросе SQLDelete творится всякое, кроме чистого апдейта поля, эту логику лучше вынести в соответствующий триггер (на обновление поля). У DBTableView события удаления есть, и "перехватить" процесс удаления наверняка можно. Ну, а отталкиваясь от "флага удаленности" можно раскрасить по вкусу и выставить разрешение на акцию удаления (запрет повторного).

Всего записей: 403 | Зарегистр. 15-02-2006 | Отправлено: 12:03 14-05-2014 | Исправлено: dred2k, 12:11 14-05-2014
Shepot



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Blindfold
Нажатие кнопки удаления записи в навигаторе можно перехватить:  
[DBTableView]-Navigator-Buttons-OnButtonClick
 

Код:
procedure TMainForm.DBTableViewNavigatorButtonsButtonClick(Sender: TObject;
  AButtonIndex: Integer; var ADone: Boolean);
begin
  if AButtonIndex = NBDI_DELETE then
    begin
      ..........
      ADone := True;
    end;
end;
 

Всего записей: 113 | Зарегистр. 12-04-2006 | Отправлено: 13:30 14-05-2014
Andryshok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Blindfold Ну а в чем проблема...  например сделать в событии BeforeDelete датасета - обработчик типа
датасет.едит
Датасет,поле<которое меняется при удалении>  = Флаг_удаления, например 1 или что там у тебя.
И запостить датасет  
и потом Abort.
 
и все раскрасится. Запрос который срабатывает у тебя при удалении убрать. Он становится ненужным.

Всего записей: 649 | Зарегистр. 03-06-2009 | Отправлено: 07:28 16-05-2014 | Исправлено: Andryshok, 07:30 16-05-2014
Dencel2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте,  не получается в cxLabel изменить цвет заливки через cxEditStyleController, все остальные значения меняются нормально. При переключении cxLabel.Enable := False цвет заливки подхватывается нормально из cxEditStyleController.StyleDisabled. И вообще странно почему при наличии скина в dxSkinController даже стандартные компоненты меняют стиль а Label и cxLabel остаются без изменений.

Всего записей: 1 | Зарегистр. 16-05-2014 | Отправлено: 15:56 16-05-2014
prand1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте. Помогите настроить cxGrid, чтобы можно было менять ширину крайнего столбца в band'е при выключенном BandsHeader. Т.е когда хедеры бендов видны, то за них можно растягивать границу бенда, а если их скрыть и оставить только хедеры самих столбцов, то крайний столбец в бенде не растянуть. Один раз у меня это получилось, случайно, а сейчас повторить не могу.
 
Вопрос в графическом виде
http://i63.fastpic.ru/big/2014/0517/74/25632a497fcf18dd23d9bd5c93460374.png

Всего записей: 6 | Зарегистр. 17-05-2014 | Отправлено: 09:46 17-05-2014
StredaX

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
prand1
Width у Band'а - 0?

Всего записей: 9 | Зарегистр. 27-07-2011 | Отправлено: 10:41 19-05-2014
svs123456789

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

Всего записей: 2932 | Зарегистр. 10-04-2003 | Отправлено: 13:48 19-05-2014
dred2k



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
svs123456789
Ну, отвечая в духе вопроса - какой первый попался.
А так - есть толковые компоненты, TRichEdit - один из них.

Всего записей: 403 | Зарегистр. 15-02-2006 | Отправлено: 14:21 19-05-2014
drSerj



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Извиняюсь, если где-то пролетало.
Имеется cxGrid. Фильтруем данные по одной из колонок. Когда выбираем список значений фильтра в другой колонке - там присутствуют данные, которых в таблице после первого фильтра нет. Как бы сделать так, что бы в списке данных фильтра в других колонках оставались только те, которые актуальны после фильтрации?

Всего записей: 145 | Зарегистр. 01-09-2001 | Отправлено: 12:04 20-05-2014
StredaX

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
drSerj
Filtering.ColumnFilteredItemsList

Всего записей: 9 | Зарегистр. 27-07-2011 | Отправлено: 15:54 20-05-2014
drSerj



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
StredaX
Огромное спасибо
 
Нашел еще один вариант DataController.Filter.AutoDataSetFilter. Только не могу понять, в чем разница? Поведение, вроде, одинаковое.

Всего записей: 145 | Зарегистр. 01-09-2001 | Отправлено: 09:45 21-05-2014 | Исправлено: drSerj, 10:15 21-05-2014
StredaX

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
drSerj
Ну собственно, вот в чем разница.
 
AutoDataSetFilter
If the AutoDataSetFilter property is set to True, the FilterText property is automatically assigned to the TDataSet.Filter property when filter criteria are changed. In this instance, the dataset itself filters records.
 
ColumnFilteredItemsList
Set the ColumnFilteredItemsList property to True, to display only filtered items (selected items) in filter dropdowns.

Всего записей: 9 | Зарегистр. 27-07-2011 | Отправлено: 12:23 21-05-2014
drSerj



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
StredaX
Благодарствую.

Всего записей: 145 | Зарегистр. 01-09-2001 | Отправлено: 12:29 21-05-2014
prand1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
StredaX, спасибо, заработало как надо.

Цитата:
Width у Band'а - 0?  

 
А как подключить свою функцию сортировки?

Всего записей: 6 | Зарегистр. 17-05-2014 | Отправлено: 21:42 22-05-2014
Открыть новую тему     Написать ответ в эту тему

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