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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос по bandedtableview. Если я поставил свойство properties у колонки на combobox, то как заполнить эти combobox'ы item'ами? И если я добавляю новую строку, то надо ли каждый раз это делать?

Всего записей: 27 | Зарегистр. 30-08-2011 | Отправлено: 00:20 01-02-2012
korstin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lena44, одна из типичных задач Master-Detail. Ее можно решить с помощью DevExpress, но понадобится cxGrid. Можно решить в пределах одного грида (с помощью уровней), либо несколькими гридами (и настройкой отношений в самих датасетах). Что выбрать - решать вам, но в любом случае придется очень подумать для реализации удобного пользователям интерфейса
 
Добавлено:
Dima335, какая задача стоит перед вами? Дать пользователю настраивать положение колонок и бандов? Но у DevExpress есть свой диалог кастомизации с драг-энд-дропом, очень удобный.

Всего записей: 65 | Зарегистр. 27-10-2007 | Отправлено: 03:19 01-02-2012
andreybear

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dima335
Если в design time, то в Properties в свойстве Items прописываешь необходимые элементы.
Если в run time, то вот пример для 0 колонки:

Код:
var i: integer;
    cmbProp: TcxComboBoxProperties;
begin
  cmbProp := TcxComboBoxProperties(BandedView.Columns[0].Properties);
  for i := 1 to 5 do
    cmbProp.Items.Add('Элемент ' + IntToStr(i));
end;

Содержание ComboBox'a достаточно определить один раз - при создании новых записей в таблице его содержание не изменится.
 
Добавлено:
Lena44

Цитата:
Для решения моей задачи, мне посоветовали ExpressQuantumTreeList

Когда советовали, надо было попросить набросать реализацию.))

Цитата:
Таким образом, дерево используется как иерархический удобный навигатор по таблицам.

Сомневаюсь в том, что это будет "удобно", учитывая количество таблиц, которое вы хотите видеть одновременно. Но это мое мнение.

Цитата:
Мне DevExpress может помочь в данной ситуации?  

Если настаиваете на варианте "all inclusive", то лучше использовать TcxGrid. Вот пример структуры, в соответствии с вашей схемой.
Пример.

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 05:06 01-02-2012 | Исправлено: andreybear, 05:45 01-02-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lena44
Я так понимаю, что таблица отличается от списка наличием нескольких столбцов, однако пример по вашей ссылке говорит об обратном. То что изображено на примере по ссылке легко делается обычным трилистом.
Или таблица, которая должна появляться не отображена в вашем примере?

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 06:45 01-02-2012
andreybear

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wasilissk
Вы модель БД смотрели? Можно пример со списком?

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 06:57 01-02-2012
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте уважаемый ALL.
У меня вопросик. Мы используем компонентик TdxBarManager. У него есть замечательная возможность сохранять пользовательские настройки ToolBar-ов. Но вот незадача, - при переходе на новую версию в Главном меню появляются новые акции, а их пользователь не увидит пока не удалить из реестра все настройки. Вопрос в следующем, можно ли запретить сохранение настроек Главного меню, а сохранять только ToolBar-ы? Либо как то принудительно сбрасывать настройки главного меню? Мне бы какое нибудь адекватное решение этого вопроса.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 07:07 01-02-2012
andreybear

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

Цитата:
Вопрос в следующем, можно ли запретить сохранение настроек Главного меню, а сохранять только ToolBar-ы?

Попробуйте TcxPropertiesStore - укажите в нем, что нужно хранять.
 
Добавлено:

Цитата:
Либо как то принудительно сбрасывать настройки главного меню?

Ну или удаляйте ненужные ветки из реестра перед загрузкой свойств с помощью TRegistry.))

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 07:17 01-02-2012 | Исправлено: andreybear, 07:22 01-02-2012
wasilissk

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

Цитата:
Вы модель БД смотрели?

А она была? Я даже упоминание о БД не нашел.
Есть словесное описание структуры, есть визуальный пример. Где создаются эти таблицы (на картинке - списки, а не таблицы) и что представляют собой, необходимо уточнить у вопрошающего.
Хотя конечно допускаю, что ваш экстрасенсорный скилл выше моего.

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 07:41 01-02-2012 | Исправлено: wasilissk, 10:54 01-02-2012
andreybear

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

Цитата:
Хотя конечно допускаю, что ваш экстрасенсорный скилл выше моего.
 

Возможно.))
Я на картинке увидел инфологическую модель (может показалось, ведь каждый видит то, что хочет видеть). К тому же, без БД смысла нет создавать все эти записи, ведь после завершения работы все вернется к истокам.))
Но это мое мнение.
Lena44
Уточните задачу.

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 07:51 01-02-2012
Lena44



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

Цитата:
Сомневаюсь в том, что это будет "удобно", учитывая количество таблиц, которое вы хотите видеть одновременно.

 
При переходе на узел надо видеть только одну таблицу, таблицу этого узла. Другие таблицы не надо отображать.
 

Цитата:
А она была? Я даже упоминание о БД не нашел.

 
Программа однопользовательская. Я ведь могу хранить таблицы в ClientDataSet как xml файлы.
 

Цитата:
на картинке - списки, а не таблицы

 
На картинке название узлов и под ними структуры таблиц (колонки таблиц раскрашены цветом), которые должны быть ассоциированы с каждым конкретным узлом. Сколько узлов, столько таблиц.

Всего записей: 282 | Зарегистр. 27-02-2007 | Отправлено: 12:05 01-02-2012
andreybear

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

Цитата:
При переходе на узел надо видеть только одну таблицу, таблицу этого узла. Другие таблицы не надо отображать.  

В любом случае, чтобы увидеть таблицу 4 уровня, необходимо раскрыть предыдущих 3!

Цитата:
Программа однопользовательская. Я ведь могу хранить таблицы в ClientDataSet как xml файлы.  

Даже не знаю что сказать. Ваш выбор.
Вообще, все это хозяйство можно хранить всего лишь в 1 таблице в БД.

Цитата:
Сколько узлов, столько таблиц.  

Я, походу, другими категориями размышляю. Тогда уж не таблицы, а записи, имеющие определенную структуру. Или я что-то не так понял.
Например, у вас 5 структурных подразделений. Это значит у вас 5 таблиц? Или 5 записей? Или еще что-то?

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 12:32 01-02-2012
Lena44



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
>Например, у вас 5 структурных подразделений. Это значит у вас 5 таблиц? Или 5 записей? Или еще что-то?
 
Пять таблиц. Пять структурных подразделений имеют пять отдельных таблиц. Каждая таблица должна быть привязана к своему подразделению. Согласно схеме 4-и колонки в этих таблицях:
Код СП
Код СВ
Назва СВ
Коментар
 
Я не говорю, что вариант с ClientDataSet оптимальный. Программа однопользовательская, вот думаю как лучше реализовать.

Всего записей: 282 | Зарегистр. 27-02-2007 | Отправлено: 13:08 01-02-2012
andreybear

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lena44
Непонятно, почему вы записи называете таблицами, пусть будут таблицы.
В каком виде данные получаете? 10 ClientDataSet'ов?

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 13:32 01-02-2012
Lena44



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

Цитата:
В каком виде данные получаете?

 
Я пока ничего не получаю. Изначально, задача - пользователь должен сам создовать дерево в программе. В момент создания узла структурного подразделения, я должна создать на диске соотвесвующую таблицу, в момент создания ветки стуктурное отделение, я должна создать на диске соответсвующую таблицу и т.к. далее. При последующей навигации по этому дереву пользователь должен видеть таблицу которая соотвесвует выделенному узлу. Перешел на узел – открылась талица, что-то туда пользователь может записать. Щелкнул по другому узлу открылась другая таблица…
 

Цитата:
10 ClientDataSet'ов

 
Сколько ClientDataSet-ов не известно. Их будет столько сколько пользователь создаст узлов. Я  ClientDataSet-ы планирую создовать динамически. Я просто пока не представляю как можно сделать по другому эту задачу.
 
 
 
 

Всего записей: 282 | Зарегистр. 27-02-2007 | Отправлено: 13:54 01-02-2012
wasilissk

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

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 13:58 01-02-2012
andreybear

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

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 14:17 01-02-2012
Dima335

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

Цитата:
Если в design time, то в Properties в свойстве Items прописываешь необходимые элементы.  
Если в run time, то вот пример для 0 колонки:  
 
Код:
var i: integer;  
    cmbProp: TcxComboBoxProperties;  
begin  
  cmbProp := TcxComboBoxProperties(BandedView.Columns[0].Properties);  
  for i := 1 to 5 do  
    cmbProp.Items.Add('Элемент ' + IntToStr(i));  
end;
 

Ок, спасибо. Для cmbProp наверное free еще надо сделать? И можно еще вопрос: как обратиться к конкретному combobox, находящемуся в i-й колонке в j-й строке, узнать его itemindex или поменять его?

Всего записей: 27 | Зарегистр. 30-08-2011 | Отправлено: 23:21 01-02-2012 | Исправлено: Dima335, 23:26 01-02-2012
andreybear

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

Цитата:
Для cmbProp наверное free еще надо сделать?

А смысл? При выходе из метода ее время жизни закончится.)

Цитата:
как обратиться к конкретному combobox, находящемуся в i-й колонке в j-й строке, узнать его itemindex или поменять его?

На примере 0 колонки:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  with View do
  begin
    if not Site.Focused then
      Site.SetFocus;
    // Добавление записей в таблицу и установка свойства ItemIndex для 0 колонки
    for i := 0 to TcxComboBoxProperties(Items[0].Properties).Items.Count - 1 do
    begin
      Controller.FocusedRecordIndex := DataController.AppendRecord;
      Controller.EditingController.ShowEdit(Items[0]);
      with TcxComboBox(Controller.EditingController.Edit) do
      begin
        ItemIndex := i;
        PostEditValue;
      end;
      Controller.EditingController.HideEdit(true);
      DataController.Post;
    end;
    // Показ значения ItemIndex последней записи
    Controller.FocusedRecordIndex := DataController.RecordCount - 1;
    Controller.EditingController.ShowEdit(View.Items[0]);
    ShowMessage(IntToStr(TcxComboBox(View.Controller.EditingController.Edit).ItemIndex));
    Controller.EditingController.HideEdit(false);
  end;
end;

Всего записей: 132 | Зарегистр. 21-07-2011 | Отправлено: 06:54 02-02-2012 | Исправлено: andreybear, 06:58 02-02-2012
MagistrAnatol



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

Всего записей: 2120 | Зарегистр. 09-04-2003 | Отправлено: 15:23 02-02-2012
wasilissk

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MagistrAnatol
TcxCustomComboBoxProperties(Grid.Columns[x].Properties).Items

Всего записей: 293 | Зарегистр. 25-12-2006 | Отправлено: 15:33 02-02-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