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

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

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

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

   

ShIvADeSt



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

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




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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:16 29-01-2007 | Исправлено: VitaliM, 15:47 24-11-2008
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
по идее это всё делается так:
подключаем оба датасета к одной транзакции, если исп. FIB+, то autocommit отключи, в мастере добавляем запись, вот у нас и есть значение id, но в базу-то оно не записалось , этот id подставляем в деталь и если всё нормально, то подтверждаем транзакцию и cxGrid тут не причем

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 09:59 10-09-2007
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Я использую ADS (локальные базы данных). В нем использую Query. Поэтому транзакций нет
Смотрю в сторону TdxMemData. Но что то не понимаю как это работает.

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 10:16 10-09-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
с пом cxGrid`а ты такое не провернёшь, т.к. id записи (автоинкрементного поля) отдает база, а не грид, по крайней мере для корректной работы в базе нужно брать (в таблице)

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 10:24 10-09-2007
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так мне и не нужно этого до тех пор, пока я не сохраню в главную. Можно в cxGrid добавить записи напрямую?

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 10:44 10-09-2007
X11



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

Цитата:
Можно в cxGrid добавить записи напрямую?

не понятно, что ты под "напрямую" подразумеваешь? Встречный вопрос, как это "НЕ напрямую"??

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:16 10-09-2007
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Минуя всякие ДатаСеты.  
Ведь для Грида нужно указать какой ДатаСоурс подключить. Я думаю, он их копирует в свой соурс и потом показывает. А если в его соурс напрямую пихать? Можно?
Грид->Что то еще->... = Мое значение. А потом через КВЕРИ все запихать в базу

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 11:33 10-09-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У EhLib есть стандартный встроенный диалог поиска, который можно вызвать с пом Ctrl+f или  с помощью Ctrl+F+F, поивился ли такой диалог и девок, если да, то как его вызвать?

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:39 10-09-2007
clear2121



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

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 11:41 10-09-2007
Jack4

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветы!
 
Есть VerticalGrid в нем ImageComboBox (без картинок), почему не работает:
 
TextEdit := IntToStr(TcxImageComboBox(VGrid_Row.Properties.EditProperties).ItemIndex);
 
и попутно, как достать Value текущей строки в ImageComboBox???
 
Если не захотите отвечать, то "пошлите" меня по ссылочке, где расписано как осуществлять доступ к свойствам In-Place эдиторов, а то я совсем ПЕРЕПУГАЛСЯ!

Всего записей: 3 | Зарегистр. 09-12-2006 | Отправлено: 12:56 10-09-2007
X11



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

Цитата:
Читаю про TdxMemData. На сколько я понял - это виртуальная таблица, в которой самому можно создать поля. Не подскажите как? Это был бы выход

очень просто, по компоненте щёлкаешь правой кнопкой и выбирешь редактор. А в коде есть у меня такое:

Код:
 
function TDM.SaveDSByDxMem(DS: TpFibDataSet; Filename: string): String;
Var
 s:TFileStream;
 dxMem : TdxMemData;
begin
  s     := TFileStream.Create(FileName, fmCreate);
  dxMem := TdxMemData.Create(nil);
  try
    dxMem.Close;
    dxMem.CreateFieldsFromDataSet(ds);
    dxMem.open;
    dxMem.LoadFromDataSet(ds);
    dxMem.SaveToStream(s);
    dxMem.Close;
  finally
    FreeL(s);
    FreeL(dxMem);
  end;
end;
 

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:06 10-09-2007
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Огромное тебе СПАСИБО!
Я делаю так  
 TmpData1 = new TdxMemData( NULL );
 TmpData1->Close();
 TmpData1->CreateFieldsFromDataSet((TDataSet*)Form1->qBOX); // это мой запрос, там пусто
 
Потом  
 TmpData1->Open();
 TmpData1->Append();
 TmpData1->FieldByName("ID_BOX")->AsInteger = 0;
И здесь вылазит ошибка, что нет такого поля. Не подскажешь, что я не так делаю? Пытаюсь в поле загнать значение

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 13:22 10-09-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ТАК СОЗДАЙ ЕГО! Открой редактор полей в дизайне и создай.
 
Добавлено:

Цитата:
TmpData1->CreateFieldsFromDataSet((TDataSet*)Form1->qBOX);

значит нету и такого поля в qBOX

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:31 10-09-2007
aleksandrus



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A_V
спасибо за интересные идеи, надо будет попробовать.
А пока мне в голову пришло выставить SyncMode = false, это не изменит логику работы, если грид у меня "readonly" ? (не делает ли SyncMode чего-нибудь кроме выставления в датасете фокуса на ту же запись, что выбрана в гриде?)
А по поводу вопроса про выделение текста - я в принципе и хочу написать свой поиск, так как стандартный Search->locate ищет только с начала строки в каждой ячейки, а мне надо, чтобы подстроку искал в любом месте..

Всего записей: 9 | Зарегистр. 29-01-2006 | Отправлено: 13:43 10-09-2007 | Исправлено: aleksandrus, 18:15 10-09-2007
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Спасибо еще раз! Я понял, что надо создать поле. Видиш ли, я все создаю руками
 F = new TField(NULL);
 F->FieldName = "ID_BOX";
 F->SetFieldType(ftInteger);
 TmpData1 = new TdxMemData( NULL );
 TmpData1->Close();
 TmpData1->Fields->Add( F );
 
Но когда
TmpData1->FieldByName("ID_BOX")->AsInteger = 0;
Говорит, что "Unsupported field type: ID_BOX"
Думаю, что не так
 
 
 
Добавлено:
X11
А если создаю на форме и связываю с грид, то после
 Grid1->BeginUpdate();
 TmpData2->Open();
 TmpData2->Append();
 TmpData2->FieldByName("ID_BOX")->AsInteger = 0;
 TmpData2->FieldByName("INVN")->AsString = Form->E1->Text.Trim();
 Grid1->EndUpdate();
 TmpData2->SaveToTextFile("abc.txt");
 
На гриде ничего не отображается, а в файле все данные есть. ПОЧЕМУ?
 
Добавлено:
Убрал Grid1->BeginUpdate(); и Grid1->EndUpdate(); и все стало отображаться. Блин, ересь какая то

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 13:54 10-09-2007
X11



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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 15:12 10-09-2007
Jack4

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, ну помогите!
 
Есть VerticalGrid в нем ImageComboBox. Заношу туда 10 значений и хочу чтобы текущее было третье:
 
TcxImageComboBox(Row1.Properties).ItemIndex := 3; - не работает
 
TcxImageComboBox(Row1.Properties.EditProperties).ItemIndex := 3; - не работает
 
Как это сделать????

Всего записей: 3 | Зарегистр. 09-12-2006 | Отправлено: 17:19 10-09-2007
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jack4
Так пробовал?
(Row1.Properties as TcxImageComboBoxProperties).ItemIndex := 3

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 20:12 10-09-2007
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Ну вот утро, новый рабочий день.
Если я один TdxMemData создаю ручками, а другой создаю из компонента то, думаю, это не важно. Важен сам механизм.  
 
 F = new TField(NULL);  
 F->FieldName = "ID_BOX";  
 F->SetFieldType(ftInteger);  
 TmpData1 = new TdxMemData( NULL );  
 TmpData1->Close();  
 TmpData1->Fields->Add( F );
 
вроде все правильно. Но не работает. Вышел из положения, создав из компоненты. Сдам первую часть проги, потом разберусь.
 
Спасибо тебе за участие и сочувствие.

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 04:45 11-09-2007
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
clear2121
F = new TIntegerField(NULL);

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 10:12 11-09-2007
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос по TcxDBListBox.
Положил на форму, подклюсил ДатаСоурс, который подключен к Кверу. В запросе есть несколько записей. Только они не показываются. Сколько записей, столько пустых строчек. Где порыться?
 
СПАСИБО!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 10:12 11-09-2007
   

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress 2
ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru