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

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

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

ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

golkanavt



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

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




 
Сами прирученные компоненты частенько приходят на водопой сюда

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:42 08-10-2003 | Исправлено: golkanavt, 15:41 08-09-2006
RUNaum



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

Всего записей: 306 | Зарегистр. 25-11-2005 | Отправлено: 23:20 10-04-2006
CAHEKminsk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В cxTreeList:
 
procedure TFrm.cxParamTreeListCustomDrawPreview(... AViewInfo: cxTreeListEditCellViewInfo ....);
......
with TcxCustomTextEditViewInfo(AViewInfo.EditViewInfo) do
  begin
    DrawTextFlags := CXTO_LEFT or CXTO_TOP;
    TextOutData.TextParams.WordBreak := True;
    TextOutData.TextParams.SingleLine := False;
 
    Text := 'ОООчень длинная строка с пробелами';
  end;
 
В результате строка записывается в одну линию и уходит за пределы экрана.
Как заставить TreeList разбить и вывести строку в несколько линий??

Всего записей: 2 | Зарегистр. 10-04-2006 | Отправлено: 11:43 11-04-2006
Lenok_P

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Каким образом в компоненте TcxDateEdit запретить вводить дату больше указанной в свойстве MaxDate. То есть мне требуется либо изменить сообщение об ошибке, которое выдается по умолчнию (Value out of bounds), либо как у компонента DateTimePicker блокировать ввод некорректной даты (данный вариант предпочтительнее).

Всего записей: 2 | Зарегистр. 10-04-2006 | Отправлено: 12:50 11-04-2006
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lenok_P
cxDateEdit1PropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
  var Error: Boolean);
begin
  if ... then  
  begin
    Error := True;
    ErrorText := 'Что же ты ввел, чмо';
  end;
end;

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 19:59 11-04-2006
Vic

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите в 3-ей версии грида, можно было название колонки в несколько строк, а в 5-ой это сохранилось, особенно интересует Банд в несколько строк, и как это сделать?

Всего записей: 333 | Зарегистр. 17-10-2001 | Отправлено: 13:18 12-04-2006
nekra



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите. Как можно сделать следующее в QuantumGrid при включенной сортировке:
   После изменения записи в гриде происходит автоматическая пересортировка, получается что если редактируешь столбец по которому установлена сортировка, то происходит постоянная перетусовка строк, необходимо чтобы этого не происходило.
 
Пример данные в каком-то столбце по которому установлена сортировка:
А1 - текущая запись
А2
А3
 
Меняем A1 на Z1: получем перескок:
A2
A3
Z1 - текущая запись.
 
Если пользователь хочет поменять все A на Z. То лучше ему на глаза не попадаться
 
 
 
Добавлено:
Lenok_P
У меня в проекте для решения данной проблемы пришлось создать новый компонент. Так как в подходе  xokc генерируется Exception который не обрабатывается (А у нас в проекте используется EurekaLog). В результате нас (программистов) заспамили сообщениями об ошибке при вводе даты.

Всего записей: 35 | Зарегистр. 20-12-2005 | Отправлено: 09:41 13-04-2006
Vic

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще вопрос как сделать в Гриде, например была в ячейке цифра 1, пришел апдет, и она меняется на 2, соответственно то что изменилось  надо подкрасить в какой-нибудь цвет?

Всего записей: 333 | Зарегистр. 17-10-2001 | Отправлено: 13:30 13-04-2006
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
nekra
Не совсем понял вопрос, но ...
А как меняешь то? Если SQL - Update то может DataSet.DisableControls (или отключи сетку от данных) Сделай замену, Вибери нужные записи или FullRefresh и DataSet.EnabledControls (или подключи сетку к данным). Перед этим можно запомнить ID текущей записи и потом ее найти в гриде.
 
Добавлено:
Vic
Напролом никак. Можно красить только если какое-то поле равно чему-то. Поэтому вижу только один вариат, в таблице поле LAST_UPDATE и USER - в него пишет дату и время последнего изменения и имя пользователя. Пишем в реестр дату и время окончания работы. Наутро запускает прогу и видит что ночью кто-то поправил его данные, т.к. LAST_UPDATE > чем его время окончания вчера и USER не он. Его изменения соответсвенно не раскрашиваються т.к. в поле USER - он.
 
Вообщем что-то типа, реализацию нужно продумать исходя из задачи.

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 13:31 13-04-2006 | Исправлено: Alex1978, 13:46 13-04-2006
oly

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Использую TcxGridDBBandedTableView
 
дело в том, что при изменении ширины Band-a, Width Column-а не изменяется и
таким образом на экране видим одну ширину колонки, а в поле Width хранится совсем другая величина
 
как определить ширину Column при изменении ширины Band-а?
это необходимо для сохранения/востановления ширины колонок, выставленные пользователем

Всего записей: 4 | Зарегистр. 23-03-2006 | Отправлено: 14:33 13-04-2006
Vic

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

Всего записей: 333 | Зарегистр. 17-10-2001 | Отправлено: 16:25 13-04-2006
nekra



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex1978
Наверное плохо задал вопрос:  
меняет данные непосредственно сам пользователь,  
grid находиться в режиме редактирования,
 пользователь меняет данные именно в колонке в которой установлена сортировка(паример SortIndex=0,SortOrder=soAsc).  
 
Как только он поменял значение ячейки и переходит на другую строчку происходит пересортировка значений в гриде. Получается что строчка перескакивает в другое место.
 
В качестве примера как необходимо можно привести Excel. Сортировка происходит только один раз когда пользователь нажимает сортировать. Далее как он бы не изменял данные, позиции строк остаются на своих местах.

Всего записей: 35 | Зарегистр. 20-12-2005 | Отправлено: 18:30 13-04-2006
Bulbash

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла следующая проблема: Пользователю необходима сортировка данных по колонке. При ее включении после сохранения новой записи происходит ее перемещение в гриде согласно условию сортировки. Я хочу добиться следующего: после поста происходит скроллинг грида, записи сортируются -но введенная запись остается на том же месте где было произведено добавление. Как оставить курсор на той же позиции при удалении записия нашел на сайте DevExpress :
 FocusedRow, TopRow: Integer;
 View: TcxGridTableView;
 DataController: TcxGridDataController;
begin
 View := cxGrid1.FocusedView as TcxGridTableView;
 DataController := View.DataController;
 
 // Remember the top row (the vertical scrollbar position)
 TopRow := View.Controller.TopRowIndex;
 // Remember the focused row(!) index
 FocusedRow := DataController.FocusedRowIndex;
 DataController.DeleteFocused;
 
 // After deletion the same row must be focused,
 // although it will correspond to a different data record
 DataController.FocusedRowIndex := FocusedRow;
 // Restore the top row
 View.Controller.TopRowIndex := TopRow;
 
 Можно ли реализовать мою задачу, используя приведенный выше листинг или каким либо другим способом?

Всего записей: 6 | Зарегистр. 26-04-2004 | Отправлено: 11:12 14-04-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulbash
Требуется уточнение.
1. Речь идет о вводе новых записей или о редактировании старых?
2. Используется ли для ввода новых записей режим NewItemRow (ввод через верхний box)?
3. В каком состоянии режим SmartRefresh?

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 15:28 14-04-2006
reenoip



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поставил на cxGrid "readonly", а где теперь снять этот режим - найти не могу. Смотрел опции как у самого грида, так и DBTableView - всё равно не по глазам (((

Всего записей: 1768 | Зарегистр. 10-03-2006 | Отправлено: 20:05 14-04-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
reenoip
cxGrid1DBTableView1.OptionsData.Editing=True

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 21:51 14-04-2006
reenoip



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpi, вообще-то, у меня уже стоит "тру" и на "эдит", и на "инсерт", в этом-то весь и косяк. Ставлю отображение привязанного навигатора - при показе грида у него неактивны соответствующие кнопки, такие вот, блин, дела
 
Добавлено:
Короче, фиг с ним: скинул я его, поставил с нуля. Геморрой с этими настройками, чтоб их...

Всего записей: 1768 | Зарегистр. 10-03-2006 | Отправлено: 00:37 15-04-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nekra
Делал нечто похожее с помощью сортировки по дополнительной колонке с номерами строк. Идея такая (идея, а не реализация).
Создается дополнительная unbound column с номерами строк. Когда вы редактируете поле в основной колонке с сортировкой, то неизменность  визуальной позиции строки обеспечивает сложная сортировка по двум колонкам: сначала по колонке номеров,  а потом по основной колонке. Колонку с номерами можно сделать и невидимой.

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 09:40 15-04-2006 | Исправлено: Alex47, 10:16 15-04-2006
nekra



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex47
Тоже думал о такой идее, но думал что есть метод более простой.  
При реализации данной идеи возникает вопрос, если при добалении новой записи делать Insert, а не Append, то как определить когда нужно заполнять колонку с номерами. (Ведь надо все номера в строчках которые ниже увеличить на 1)?
 
P.S. В гриде не нашел события типа BeforeInsert.

Всего записей: 35 | Зарегистр. 20-12-2005 | Отправлено: 14:19 15-04-2006
vadgor

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

Всего записей: 4 | Зарегистр. 14-04-2006 | Отправлено: 14:24 15-04-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nekra
У меня Insert идет через NewItemRow (box в вехней части view). Поэтому новая строка всегда будет последней. Присвоение ей номера  я делаю в AfterPost DataSet:
 if State = dsInsert then // State - состояние DataSet, запомненное в BeforePost
   . ..
 Index := TcxGridDBTableView(cxGrid1.FocusedView).DataController.FocusedRecordIndex;
   TcxGridDBTableView(cxGrid1.FocusedView).DataController.Values[Index,0] := Index + 1;
 
Добавлено:
vadgor
Можно в обработчике View.DataController.Filter.OnGetValueList
сформировать самому список фильтра - AValueList

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 17:57 15-04-2006
   

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress
ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru