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

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

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

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

golkanavt



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

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




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
VitOs2

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
А более конкретно? Какимы методами закидывать данные в этот грид из датасета? Не использовать же FieldByName. Нужно что-то очень быстрое.
 
infomSB
Думал не расписывать полностью, но, наверное прийдется. Я использую:
ZConnection+zReadOnlyQuery+DataSource+.
У ZConnection свойства KeepConnection нет (я не нашел).
Программа работает чере интернет. Поэтому, нужно чтобы она нормально реагировала на обрывы связи. Думаю, здесь, для простоты, можно использовать и свойство Connected (false - обрыв связи). Если его поставить в False, тогда все zReadOnlyQuery очищаются. И, соответственно, таблица также стает пустой.
Поэтому и было реализовано через промежуточный датасет, который висит в памяти - dxMemData. Но, как я скзал, данные перекидываются около 3-х раз. Хочу выкинуть хотябы одно звено (dxMemData) и тем самым сократить время на заполнение таблицы.

Всего записей: 54 | Зарегистр. 18-03-2008 | Отправлено: 15:10 22-02-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Снова привет!
Возможно вопрос слегка глупый (может туплю где-то), но.
Кто подскажет, с помощью какого компонента можно пометить несколько записей в таблице?
Пример. Есть tbl1.id, tbl1.name.
Хочу видеть список из tbl1.name, чтоб можно было выделить (типа CheckBox) несколько записей и для дальнейшей обработки знать их tbl1.id.

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 19:49 22-02-2009
Arch1S



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

Цитата:
пометить несколько записей в таблице

в таблицу или в таблицу некой базы, тогда вопрос, какую базу используешь? если mysql то пользуйся компанентами Zeos, если другую базу то смотри метод Protocol в TZConnection

Всего записей: 93 | Зарегистр. 21-02-2009 | Отправлено: 20:53 22-02-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
использую Interbase, соответственно родной tibdataset  или tibtable. хотелось бы обойтись (если можно) стандартными либо devexpress.

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 21:06 22-02-2009 | Исправлено: brookson, 21:09 22-02-2009
vladman

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

Цитата:
Хочу видеть список из tbl1.name, чтоб можно было выделить (типа CheckBox) несколько записей и для дальнейшей обработки знать их tbl1.id.

Здесь [How to set up an unbound item in a data-aware View] все подробно описано:

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 01:25 23-02-2009 | Исправлено: vladman, 01:25 23-02-2009
sam291074



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И снова cxVertGrid. Как всетаки сделать, чтобы при изменении значения строки (событие OnChange) это изменение воспринималось сразу, а то надоело - фокус с таблицы снять, фокус на таблицу вернуть - при наличии скинов мигает как новогодняя елка. Подскажите, будьте добры.  

Всего записей: 113 | Зарегистр. 22-03-2006 | Отправлено: 12:23 23-02-2009
vladman

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

Цитата:
Подскажите, будьте добры.  

Не плохо было бы посмотреть ваш код для более качественной подсказки

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:38 23-02-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sam291074
обрати внимание на свойства ImmediatePost. А также можно использовать код:
cxVertGrid1.HideEditor;

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

Всего записей: 3260 | Зарегистр. 24-11-2005 | Отправлено: 14:58 23-02-2009
sam291074



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

Цитата:
Не плохо было бы посмотреть ваш код

void __fastcall TMainForm::cxVerticalGridRowPropertiesChange(TObject *Sender) {
 cxGroupBox1->SetFocus(); cxVerticalGrid->SetFocus();
.......
}
 
Здесь после изменения Value в Row делаю перевод фокуса на GroupBox, содержащий VerticalGrid, а затем назад. Только после этого я могу воспользоваться установленным Value. Где-то на форуме писали, что можно так сделать.
 
Добавлено:
X11

Цитата:
обрати внимание на свойства ImmediatePost. А также можно использовать код:  
cxVertGrid1.HideEditor;

Знаете, не нашел ни того, ни другого. Есть ImmediateEditor, он в true.
Есть HideEdit(), вроде помогает, посмотрю тщательней.

Всего записей: 113 | Зарегистр. 22-03-2006 | Отправлено: 16:12 23-02-2009
X11



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

Цитата:
ImmediatePost.  

Это свойство имеют не все типы колонок вертикального грида. Щас дельфи нет под рукой. Возможно, что и сам грид имеет это свойство.

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

Всего записей: 3260 | Зарегистр. 24-11-2005 | Отправлено: 17:15 23-02-2009 | Исправлено: X11, 17:18 23-02-2009
sam291074



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

Цитата:
ImmediatePost.

Все, разобрался. Большое спасибо за правильное направление движения. Совершенно верно Вами замечено, что это свойство для строки (не для таблицы), да и то не для каждой, а от изменения которой что-то зависит (Spin, Combo, Check и т.д.). И тогда все очень просто. Начинаю проникаться уважением к DevExpress и людям, которые его понимают

Всего записей: 113 | Зарегистр. 22-03-2006 | Отправлено: 17:41 23-02-2009
Meister_Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа! Кто работал со Smart Record в ExpressDBTree. Что-то сам черт ногу сломит.. Может у кого есть готовый проект, чтоб посмотреть?

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 18:22 23-02-2009
brookson



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

Цитата:
Здесь [How to set up an unbound item in a data-aware View] все подробно описано

Да, спасибо. Всё как я и делал, кроме SmartRefresh := True;
 
Но вот проблема - отметить (Checked) можно лишь 1 запись. При попытке отметить еще одну пометка с предыдущей снимается.
Что делать?

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 22:19 23-02-2009
afiget



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

Цитата:
А если загружать всё прямо в грид, т.е. грид использовать как стринг-грид?

Не-не-не. Даже сами разработчики рекомендуют использовать MemData, как более производительный.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 23:02 23-02-2009
vladman

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

Цитата:
Что делать?  

Проверить свойства редактора (CheckBox в данном случае). Может вы использовали RepositoryItem с какими-то специфическими настройками? Попробуйте установить свойство Properties этой GridDBColumn в CheckBox, и из всем значений свойств этого CheckBox изменить только свойство NullStyle на nssUnchecked (хотя это и не важно - не будет серых CheckBox'ов) - должно работать.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 01:13 24-02-2009
Meister Floh



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

Цитата:
Господа! Кто работал со Smart Record в ExpressDBTree. Что-то сам черт ногу сломит.. Может у кого есть готовый проект, чтоб посмотреть?

 
Уже разобрался.. На примере который входит в состав ExpressDBTree..

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 10:11 24-02-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Удалил грид. Начал с нуля. Всё заработало. Видимо в процессе и правда что-то где-то поменял.
Спасибо.

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 11:32 24-02-2009
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никто не подскажет - есть ли какая-то возможность при нажатии на dxBarButton определить нажата клавиша CTRL или нет?

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 19:15 24-02-2009
vladman

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

Цитата:
Никто не подскажет - есть ли какая-то возможность при нажатии на dxBarButton определить нажата клавиша CTRL или нет?

 

Код:
procedure <YourFormType>.<YourButtonClick(Sender: TObject);
var
   State : TKeyboardState;
begin
  GetKeyboardState(State);
  if (State[vk_Control] And 128) <> 0 then  
    ShowMessage('Ctrl was pressed!');
end;

 
На самом деле этот код не специфичен для dxBarButton и будет работать для любого контрола.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 19:55 24-02-2009 | Исправлено: vladman, 19:59 24-02-2009
shulum



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

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 21:59 24-02-2009
   

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru