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

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

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

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 13:46 13-03-2012
Lena44



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашла как, правда не в дизайне:
cxGrid1TableView1->DataController->RecordCount = 5;
cxGrid1TableView1->DataController->SetValue(0,0,".....");
 
 
 
 
Добавлено:
У меня в одной из колонок cxGrid1TableView1 хранятся цифры. Как сделать выравнивание в этой колонке по правой стороне и придать цифрам формат – после запятой две цифры? Такая возможность есть у суммирующих колонок, там есть свойство Format, а вот в целом для простой колонки не нашла как это сделать…

Всего записей: 282 | Зарегистр. 27-02-2007 | Отправлено: 17:34 13-03-2012 | Исправлено: Lena44, 20:13 13-03-2012
marser

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

Цитата:
У меня в одной из колонок cxGrid1TableView1 хранятся цифры. Как сделать выравнивание в этой колонке по правой стороне  и придать цифрам формат – после запятой две цифры

В Properties колонки есть свойство выравнить по горизонтали. Если создадите Properties как CurrencyEdit, то там есть Formаt. В крайнем случае, у колонки есть событие GetDisplayText.      

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 20:45 13-03-2012
Lena44



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
marser, СПАСИБО!

Всего записей: 282 | Зарегистр. 27-02-2007 | Отправлено: 22:38 13-03-2012
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lena44, у датасета, к которому привязан грид, у каждой колонки есть свойство DisplayFormat, туда введи, например, это:

Код:
#,##0.


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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 01:26 14-03-2012
andreybear

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В колонке cxGrid Properties = MaskEdit. При вводе числа с пятью и более знаками после запятой с 0 целой частью, например, 0.00001, в ячейке отображается значение 15. Если десять знаков после запятой, то 110. В таком случае в БД пишется значение в виде 1E-n, где n - степень (в первом случае 1E-5, во втором - 1E-10). Не понятно, почему значения выводятся таким образом и как решить эту проблему. Хочется, чтобы число отображалось в том виде, в котором его ввел пользователь, ведь 15 - это не 0.00001, и даже не не 1E-5.
Что можно сделать в этой ситуации?

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 05:12 14-03-2012
marser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
andreybear
Так Вы ничего не написали. Версия DevExpress? Версия среды разработки?  Какая маска? Какие свойства в Properties (не по умолчанию)?  Какая БД? Формат поля БД? Проблема только с DB Grid или с не DB тоже? Как ведут себя контролы cxDBMaskEdit и cxMaskEdit?

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 07:50 14-03-2012 | Исправлено: marser, 08:25 14-03-2012
dimm78

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

Цитата:
В колонке cxGrid Properties = MaskEdit. При вводе числа с пятью и более знаками после запятой с 0 целой частью, например, 0.00001, в ячейке отображается значение 15. Если десять знаков после запятой, то 110. В таком случае в БД пишется значение в виде 1E-n, где n - степень (в первом случае 1E-5, во втором - 1E-10). Не понятно, почему значения выводятся таким образом и как решить эту проблему. Хочется, чтобы число отображалось в том виде, в котором его ввел пользователь, ведь 15 - это не 0.00001, и даже не не 1E-5.
Что можно сделать в этой ситуации?

 
Я обычно для этих целей использую TcxCurrencyEdit настраивая в Properties свойства DecimalPlaces и DisplayFormat. Он позволяет отображать до 15 знаков после запятой

Всего записей: 162 | Зарегистр. 07-12-2005 | Отправлено: 10:48 14-03-2012 | Исправлено: dimm78, 10:49 14-03-2012
andreybear

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimm78
Заранее не известно, сколько знаков после запятой будет у числа в конкретной ячейке, а отображать надо так, как ввел пользователь.
marser
Версия DevExpress 56.
Delphi 2006.
Маска: -?\d+,\d+
Properties:
Ссылка
БД Oracle 10g.
Формат поля? Что Вы имеете ввиду?
Тип поля: number.
Проблема только с cxDBMaskEdit, cxMaskEdit отображает как надо.
 
Складывается впечатление, что компонент некорректно обрабатывает значения вида 1E-n (где n - степень), т.к. в БД маленькие значения сохраняются именно в таком виде.

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 12:26 14-03-2012 | Исправлено: andreybear, 12:43 14-03-2012
marser

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

Цитата:
т.к. в БД маленькие значения сохраняются именно в таком виде.

Похоже БД здесь ни при чём Ссылка
Не совсем по теме, но может поможет Ссылка

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 22:19 14-03-2012
simplecs

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Сделал в cxgrid группировку по какому-нибудь столбцу – нужно отразить в строке группировки итоговые значения по группе но не стандартные  а свои собственные. Как написать свои собственные итоги в нижнем Footor-е и в Footor-е группы я понимаю (через OnGetText). А как мне отследить записи которые попали в тут или иную группу. Например, мне необходимо в группе показать (слово «Привет» встретилось 2 раза, слово «Пока» 3 раза в столбце 1). Но как посчитать эти 2 и 3 раза в рамках группы, а не всей таблицы?

Всего записей: 27 | Зарегистр. 20-10-2010 | Отправлено: 15:43 15-03-2012
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Совсем недавно был ответ на Ваш вопрос.
 
Добавлено:

Цитата:
 и в Footor-е группы я понимаю (через OnGetText).  

 
Нет, там же есть свойство Format

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 15:48 15-03-2012
simplecs

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! Подскажите пож-ста вот что: есть Cxgrid  и в ней можно обратиться к номеру активной записи в подключенной БД, например вот так:
cxGrid1DBTableView1.Controller.FocusedRow.RecordIndex
и есть еще DataSource который тоже содержит набор записей и подключен к таблице.  
Так вот когда я стою на первой записи в таблице и хочу получить ее номер, то cxgrid – говорит что ее номер = 0!!! Но в DataSource нет нулевой записи!!! Они идут с первого номера. Почему так? И будут соответствовать мои FocusedRow.RecordIndex записям в БД если я увеличу их значение на единицу, т.е. буду обращаться к активной записи БД как:
 
cxGrid1DBTableView1.Controller.FocusedRow.RecordIndex +1

Всего записей: 27 | Зарегистр. 20-10-2010 | Отправлено: 16:44 16-03-2012
X11



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

Цитата:
cxGrid1DBTableView1.Controller.

 
Используй Силу DataController, Люк
 
И вообще, ты путаешь понятия записей в гриде и в наборе данных.
 
Добавлено:

Цитата:
 можно обратиться к номеру активной записи в подключенной БД


Код:
I := <TcxGrid1DBTableView>.DataController.DataSource.DataSet.RecNo;

 
 
Добавлено:
simplecs, почитайте в справке про концепцию записей и строк cxGrid`а
 
Вы скажите, что именно нужно получить?

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 17:03 16-03-2012
salexn1



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

Цитата:
Но в DataSource нет нулевой записи!!!  

а в DataSource вообще нет записей, они есть в DataSet
 

Цитата:
И будут соответствовать мои FocusedRow.RecordIndex записям в БД если я увеличу их значение на единицу, т.е. буду обращаться к активной записи БД ...

 
конечно не будут

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 17:18 16-03-2012
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
есть bandview, если в гриде на запись больше одной строки, то при перемещении по ним клавишами, надо пройтись по всем строкам, чтобы перейти на другую запись. если OptionsSelection.CellSelet=false то переход осуществляется сразу, есть другой способ?

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 17:34 16-03-2012
k94kwk1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пож-ста а можно в Cxgrid оставить вомзможность группировки через Drug&Drop (когда я перетаскиваю столбце в стандартную область группировки вверху), но при этом исключить возможность такого же Drug&Drop по изменению порядка столбцов (когда я беру, у примеру,  за 1-ый столбец и делаю его вторым (перетаскивая. А нашел свойство ColumnMoving - но оно отрубает или врубает сразу две эти возможности

Всего записей: 28 | Зарегистр. 11-03-2012 | Отправлено: 18:41 16-03-2012 | Исправлено: k94kwk1, 19:14 16-03-2012
simplecs

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Я поясню чего я хотел и свое понимание.
Как я понял к записям, которые непосредственно отображаемым в гриде можно обращаться через свойство Index, а еще там есть RecordIndex  - который по моему пониманию должен соответствовать записям в DataSet-е. Index можем меняться в результате сортировки, фильтрации и прочей фигни, который делает пользователь.....а вот RecordIndex  меняться не может пока я в Datasouse или AdoQuery не изменю запрос или не сделал там фильтрацию или сортировку.  
Правильно я понимаю? Поясните Please!
 
А нужно мне это вот зачем - есть активвная (сфокусированная запись) мне необходимо очистить ряд позиций в ней от данных пользователя. Я нахожу ее RecordIndex  через Controller  а потом в Dataset-е редактирую запись с этим номером.  
 
[salexn1]
Конечно в Dataset
 
X11
P.S. Кстати, а почему Вы говорите что  «путаешь понятия записей в гриде и в наборе данных»?
Открыл справку по RecordIndex, вижу:  
«A record index identifies the position of the current record within a dataset.  The Record index is not changed when the visual position of a record within a View is changed.  You can access the Index property to determine where the record is displayed within a View.»
 
Т.е.
«record index определяет положение текущей записи в наборе данных. record index не меняется, когда визуальное положение записи в представлении меняется. Вы можете получить доступ record index, чтобы определить, где запись отображается в представлении»
 
Т.е. должна соответствовать RecNo  DataSet?
 

Всего записей: 27 | Зарегистр. 20-10-2010 | Отправлено: 18:51 16-03-2012 | Исправлено: simplecs, 18:51 16-03-2012
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как программно закрыть tcxtabsheet? не Hide а когда юзер на кнопку закрытия нажимает?

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 19:02 16-03-2012
marser

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

Цитата:
Т.е. должна соответствовать RecNo  DataSet?

Соответствует. Непонятно, что Вас смущает? Записи в Grid начинают нумероваться c 0, а в DataSet с 1 (такое часто встречается в программировании). Поэтому DataSet.RecNo = DataController.RecordIndex + 1

Всего записей: 398 | Зарегистр. 29-03-2007 | Отправлено: 19:30 16-03-2012
Открыть новую тему     Написать ответ в эту тему

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