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

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



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
neznayka3
Непроще сделать условие выбора по умолчанию - к примеру текущий день, или все данные по текущему объекту - пользователь уже видит что-то, а дальше уже сам настраивает что ему смотреть.  
Другой вариант, если все же надо отображать кучу данных - их загрузку в отдельный поток

----------
Регистрация ника))
ОСАГО и КАСКО
Работа

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 08:53 04-03-2013
X11



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

Цитата:
форма загрузки с кучей условий, но юзеры не хотят напрягаться, грузят все потом фильтруют как в excel.

 
значит нужно их жёстко ограничить некоторыми условиями, например не грузить архивные записи и грузить только текущего года
 
второй вариант: переделать форму параметров поиска так, что им было удобно
третий вариант: сообщить руководству о проблеме и пусть покупают более мощные компьютеры и сервер

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 12:34 04-03-2013
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добавил в настройки грида "быстрый фильтр", который включает GridMode и отключает все остальное, все шустро. если хотят встроенную фильтрацию/сортировку/футер убирают галку.

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 12:56 04-03-2013
eddoc



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В cxGrid'e есть какая-нибудь готовая опция автоподгона ширины столбцов под общую ширину грида (как в EhGrid) или надо самому обработчик писать?

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 12:57 04-03-2013
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eddoc
cxGridTableView.ApplyBestFit(),  cxGridTableView.OptionsView.ColumnAutoWidth

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 13:17 04-03-2013
Sufferer



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Имеется cxGrid
Необходимо при модификации значения в первой ячейке произвести изменения в соседней ячейке.
Подвесил обработку изменений на событие в колонке Properties.OnChange. Все нормально изменяется в соседней ячейке, но при этом сбрасывается значение редактируемой ячейки в исходное.  
Пляски с BeginUpdate, EndUpdate не помогают. Складывается впечатление, что грид рефрешит всю строку при изменении в любой ячеки.
Что сделать, что-бы такого не происходило?

Всего записей: 271 | Зарегистр. 21-07-2001 | Отправлено: 12:38 06-03-2013 | Исправлено: Sufferer, 12:48 06-03-2013
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sufferer
 
Цитата:
Складывается впечатление, что грид рефрешит всю строку при изменении в любой ячеки.
 
Да ничего он не рефрешит, просто не запоминается введенное значение. Попробуйте написать в OnChange: TcxCustomEdit(Sender).PostEditValue

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 12:55 06-03-2013
Sufferer



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не, пост не подходит, ибо необходимо вычислять по мере ввода, на лету. Почему я про рефреш-то предположил, там же как только начинаешь что-то вводить/изменять срабатывает событие, и если я в нем меняю значение ячеки через SetValue() или напрямую Value[Y,X], то по выходе из этого события у меня тут-же сбрасываются изменения в редактируемой ячеке и она снова находится в предедитном состоянии.

Всего записей: 271 | Зарегистр. 21-07-2001 | Отправлено: 14:24 06-03-2013
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sufferer
Набросал Вам работающий пример (TcxGridTableView и две TextEdit колонки):

Код:
procedure TForm1.cxGrid1TableView1Column1PropertiesChange(Sender: TObject);
var
  AEdit: TcxTextEdit;
begin
  AEdit := TcxTextEdit(Sender);
  if AEdit.ModifiedAfterEnter then
  begin
     AEdit.PostEditValue;
     cxGrid1TableView1Column2.EditValue := VarToStr(AEdit.EditValue) + 'X';
     AEdit.SelStart := Length(AEdit.Text);
     AEdit.SelLength := 1;
  end;
end;

 

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 16:07 06-03-2013
Sufferer



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В общем разобрался с проблемой. Спасибо marser за подсказку, в каком направлении копать.

Всего записей: 271 | Зарегистр. 21-07-2001 | Отправлено: 18:41 07-03-2013
vcrank

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Мой вопрос только частично относится к данным компонентам.
Хочу спросить совета по логике работы/оформления приложения
Условно есть БД. Юзер выбирает из списка нужную таблицу и получает список уникальных дат.
Подскажите, как красиво/быстро сделать выбор этой даты? Выводить списко всех дат в ComboBox - это как-то неправильно. Запросто может быть по 300 дат за 1 год..., а выбирать из этого списка нужную дату (даже из отсортированного списка) достаточно проблемно
Есть идея использовать календарь от DevExpress (TcxDateEdit) и подсвечивать в нём существующие даты из базы. Нашёл пока только такой код:

Код:
procedure TForm1.cxDateNavigator1CustomDrawDayNumber(Sender: TObject;
  ACanvas: TcxCanvas;
  AViewInfo: TcxSchedulerDateNavigatorDayNumberViewInfo;
  var ADone: Boolean);
begin
if (AViewInfo.Date = StrToDate('01.03.2013')) or (AViewInfo.Date = StrToDate('05.03.2013')) then
  begin
    AViewInfo.Bold := True;
    ACanvas.Font.Color := clRed;
    ACanvas.Brush.Color := clYellow;
  end;
end;

 
и не совсем понимаю как сюда загнать большой список дат

Всего записей: 1067 | Зарегистр. 24-10-2005 | Отправлено: 16:42 12-03-2013
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vcrank
Мене кажется не совсем это удобно: чем больше пользователь делает в начале выбора условий отбора - тем больше он будет раздражен, а значит будет негатив от использования программой. Самой оптимальный вариант при загрузке выводить какие-то данные по-умолчанию - в вашем случае логично на последнюю дату с данными. Далее пусть сам пользователь выбирает какие ему данные нужны (на какая дату). Выбор даты - может не самый удобный способ, но мне кажется наглядным будет - список дат в таблицу.

----------
Регистрация ника))
ОСАГО и КАСКО
Работа

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 07:27 13-03-2013
eddoc



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

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 11:47 13-03-2013
Granmer



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vcrank
Согласен с BlackVetal в случае использования календаря - будет много лишних кликов для перелистывания месяцев, лет. Я бы попробовал сделать выпадающий список с древовидной структурой год-месяц-даты. Не так много занимает места на экране и поиск по сути в три клика к любой дате. В зависимости от остальных условий возможны варианты.

Всего записей: 236 | Зарегистр. 20-08-2003 | Отправлено: 15:46 13-03-2013
vcrank

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

Всего записей: 1067 | Зарегистр. 24-10-2005 | Отправлено: 19:56 13-03-2013
NatNiM



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Использую GridControl.
Необходимо внизу создать панель суммы Total, но не привязывать ее к какому-то столбцу, а форматировать с левой стороны грида и растянуть на весь грид. В этот Total будет передаваться переменная.
Подскажите, пожалуйста, можно ли такое сделать?

Всего записей: 30 | Зарегистр. 04-03-2010 | Отправлено: 10:06 14-03-2013
AlexPetrovich

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NatNiM
Прицепи снизу обычную TPanel, выстави ширину, как у грида, и на ней выводи нужную сумму.

Всего записей: 87 | Зарегистр. 08-05-2003 | Отправлено: 14:49 14-03-2013
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
NatNiM
попробуйте посмотреть в сторону эванта CustomDrawFooter у GridView (это для C#, для delphi не знаю).
Более подробно все возможности не могу написать - студии нет подрукой ...

----------
Регистрация ника))
ОСАГО и КАСКО
Работа

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 14:54 14-03-2013
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь пользуется dxLayoutControl?
Оно так и должно тормозить, мелькать и т.д.?
Такое впечатление, что у меня 64мб памяти и процессор PIII ((
И форма не так быстро открывается.
Изменение размеров формы тормознутое.
На dxLayoutControl расположено примерно 85 групп и Item`ов.
 
Может где-то чего-то подкрутить нужно?

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 18:45 14-03-2013
eddoc



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
камрады:
 
1. К cxButton никак нельзя cxStyle прикрутить?
2. В cxGrid хидеры никак не меняют цвет текста (задан в соответствующем cxStyle), если выставлено LookAndFeel.NativeStyle = True. Можно как-то выйти из положения (хочется увидеть объемные кнопки, а не плоские)?

Всего записей: 328 | Зарегистр. 25-11-2007 | Отправлено: 21:52 14-03-2013
Открыть новую тему     Написать ответ в эту тему

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