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

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



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

----------
Холодильники мы

Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 17:23 25-09-2009
X11



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

Код:
 
                    dbgSyncSpr.DataController.AppendRecord;
                    RecIndex := dbgSyncSpr.DataController.RecordCount - 1;
                    dbgSyncSpr.DataController.Values[RecIndex, dbgSyncSprID_SPR.Index]        := Values[ARowInfo.RecordIndex, dbgIdSprID.Index];
                    dbgSyncSpr.DataController.Values[RecIndex, dbgSyncSprID_IN_KVX.Index]     := FBN('ID').AsInteger;
                    dbgSyncSpr.DataController.Values[RecIndex, dbgSyncSprVALUE_IN_KVX.Index]  := FBN('name').AsString;
 

 
или так:

Код:
                    RecIndex :=  dbgSyncSpr.DataController.AppendRecord;
                    dbgSyncSpr.DataController.Values[RecIndex, dbgSyncSprID_SPR.Index]        := Values[ARowInfo.RecordIndex, dbgIdSprID.Index];
                    dbgSyncSpr.DataController.Values[RecIndex, dbgSyncSprID_IN_KVX.Index]     := FBN('ID').AsInteger;
                    dbgSyncSpr.DataController.Values[RecIndex, dbgSyncSprVALUE_IN_KVX.Index]  := FBN('name').AsString;
 


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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 17:49 25-09-2009
vladman

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

Цитата:
а в этом примере не очень-то и понял как добавлять правильно записи через грид в базу

Этот пример вам не подходит, так как он для cxCustomDataSource, который "Represents a custom data source for a grid control." В случае с примером это TStringList.
И вообще "The AppendRecord method adds a new empty record to your data controller. You should use this method only in provider and unbound modes. If the data controller represents dataset data (TcxDBDataController), you should use the Append method instead." - ms-help://borland.bds5/ExpressDataController.BDS5/ExpressDataController/IDH_TcxCustomDataController_AppendRecord.htm
 
Добавлено:
Cryogen2003

Цитата:
Ну я боюсь exe переслать не смогу

Так и не нужен ваш большой проект. Сделайте новый проект с dxMemData как источник для Ehlib Lookup, чтобы проиллюстрировать что вы имеете ввиду.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 17:49 25-09-2009 | Исправлено: vladman, 17:51 25-09-2009
X11



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

Цитата:
ms-help://borland.bds5/ExpressDataController.BDS5/ExpressDataController/IDH_TcxCustomDataController_AppendRecord.htm
 

Это я читал, всё получилось, записи добавляются мгновенно.
 
Интересует, как правильно
так?
dbgSyncSpr.DataController.AppendRecord;
RecIndex := dbgSyncSpr.DataController.RecordCount - 1;  
 
или так?
RecIndex := dbgSyncSpr.DataController.AppendRecord;
 
Кстати OptionsData.AppendRecord должно быть в True  
 
И ещё.  
Решил добавлять запис напрямую в датасет. Прикол в том, что этот способ также начал тормозить примерно после 100-ой добавленной записи ))))
Наверное потому, что при вызове  
pFibDataSet1.Append cxGrid тоже вызывает DatacontrollerAppend )))))
 
Пятница... уже туго соображаю. ><

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 17:59 25-09-2009
Cryogen2003



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vladman
Да я уже разобрался, мне действительно не нужно было в моей задачи с DBAware и TcxLookupComboBox умеет все тоже самое, что и компонент из EhLib. просто в EhLib сделано так, если устанавливаешь DataSource, то он автоматом устанавливает, если не устанавливаешь, он просто в KeyValue показывает и все. Мне как раз такой вариант устраивает. Просто думал, что TcxLookupComboBox  не умеет работать с ListSource, но я ошибался и сейчас все уже сделал. Спасибо

----------
Холодильники мы

Всего записей: 745 | Зарегистр. 08-12-2004 | Отправлено: 18:00 25-09-2009
vladman

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

Цитата:
Летает-то летает. Только теперь после завершения цикла выполнения в базе только одна запись

Так данные в БД уже появляются?
RecIndex := dbgSyncSpr.DataController.AppendRecord; - так правильнее.

Цитата:
pFibDataSet1.Append cxGrid тоже вызывает DatacontrollerAppend

Нет, не вызывается.  
У вас, скорее всего, датасет настроен на работу с транзакциями как AutoCommit.  
Попробуйте все записи вставлять в рамках одной транзакции. 1000 записей вставятся меньше чем за секунду, правда, если у вас нет для этой таблицы сложных триггеров.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 18:07 25-09-2009
X11



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

Цитата:
Так данные в БД уже появляются?  

На столько быстро, что я в шоке
Цитата:
Нет, не вызывается.  
У вас, скорее всего, датасет настроен на работу с транзакциями как AutoCommit.  
Попробуйте все записи вставлять в рамках одной транзакции. 1000 записей вставятся меньше чем за секунду, правда, если у вас нет для этой таблицы сложных триггеров.

 
Это я знаю. Так всегда и делаю.
 
Просто сейчас через грид и с автоподтверждением работает ну очень быстро О_о, может грид сам ка-то кеширует или вызывает Post через определённое кол-во записей.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 18:09 25-09-2009
rainebove

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

Цитата:
А в сам cxGrid вы каким запросом выбираете данные?

Никаким, выполняю хранимую процедуру.
StoredProc->Active = true
 

Всего записей: 9 | Зарегистр. 31-08-2009 | Отправлено: 21:39 25-09-2009 | Исправлено: rainebove, 21:44 25-09-2009
vladman

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

Цитата:
Никаким, выполняю хранимую процедуру.

Так эта процедура дает данные для вашего грида, тогда не понятно зачем вам нужен в cxGrid2DBTableView1DBColumn1 -> properties =LookupComboBox, который ссылается на эту же процедуру. Давайте пример в исходных кодах, может мы о разном говорим.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 01:03 26-09-2009
gyani

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

Всего записей: 10 | Зарегистр. 28-08-2009 | Отправлено: 11:40 26-09-2009
vladman

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

Цитата:
подскажите можно ли сделать мигание текста в ячейке?

Посмотрите в Knowledge Base статью и пример к ней. Как раз по вашему вопросу - Flashing cells

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 12:40 26-09-2009
FunCode



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Сегодня поставил последний DevExpress от feandy на Delphi 2010 и заметил такую вещь в Object Inspector в свойствах любого DevExpressовского компонента Style->AssignedValues вижу следующее:
   

Всего записей: 182 | Зарегистр. 22-10-2006 | Отправлено: 15:20 26-09-2009 | Исправлено: FunCode, 15:21 26-09-2009
gyani

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

Всего записей: 10 | Зарегистр. 28-08-2009 | Отправлено: 19:46 26-09-2009
xokc

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

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 13:30 27-09-2009
FunCode



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

Цитата:
А куда именно смотреть-то?

в смысле куда смотреть ? я же привел скриншот на котором обозначена проблема,
интересно узнать как у кого на 2010 46 версия поставилась ?

Всего записей: 182 | Зарегистр. 22-10-2006 | Отправлено: 14:26 27-09-2009
rainebove

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

Цитата:
Так эта процедура дает данные для вашего грида, тогда не понятно зачем вам нужен в cxGrid2DBTableView1DBColumn1 -> properties =LookupComboBox, который ссылается на эту же процедуру. Давайте пример в исходных кодах, может мы о разном говорим.

Я просто незнаю как еще данные отобразить в гриде, у меня есть пример с работающим гридом там сделано так те через cxGrid2DBTableView1DBColumn1 -> properties =LookupComboBox. Пробовал тупо скопировать не работает.  
  В идеале нужно чтобы при нажатии на кнопку добавить, в навигаторе, в cxGrid появлялась новая строка с выпадающ списком (LookupComboBox) и в неи содержимое хранимки. Но пока вообще данные выбрать неполучается  
Исходников нет все пока делал тока через интерфейс  

Всего записей: 9 | Зарегистр. 31-08-2009 | Отправлено: 09:40 28-09-2009
vladman

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

Цитата:
Я просто незнаю как еще данные отобразить в гриде

Попробуйте сначала добиться отображения/добавления данных в гриде без лукапа.  Затем читайте в справке как добавить лукап в качестве InplaceEditor'а.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 10:13 28-09-2009
rainebove

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Если не сложно подскажите какие своиства изменить
Я делаю так cxGrid2Level1 - DataSource =dsDoc (Tdatasource где dataset=spDoc)
                    cxGrid2Level1 - DataSet=spDoc (TADOSrtoredProc с хранимкой)
                    Link To DataSource = dsDoc

Всего записей: 9 | Зарегистр. 31-08-2009 | Отправлено: 10:45 28-09-2009 | Исправлено: rainebove, 10:57 28-09-2009
kii

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые!!!!
 
Кто-нибудь сталкивался с такой проблемой
В cxGrid'е даты:
02.02.2009
27.12.2006
 - представлены КАК ПУСТОЕ ПОЛЕ ???????

Всего записей: 137 | Зарегистр. 11-02-2004 | Отправлено: 11:47 28-09-2009
vladman

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

Цитата:
cxGrid2Level1 - DataSource =dsDoc

Где вы нашли у Level свойство DataSource и DataSet?
Нужно так - cxGrid2DBTableView1.DataController.DataSource = dsDoc,  
а в dsDoc.Dataset = spDoc  
 
Добавлено:
kii

Цитата:
 
Кто-нибудь сталкивался с такой проблемой  

А что в этих датах такого особенного? Как представляются другие даты?

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 11:48 28-09-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-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru