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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашёл на сайте www.devexpress.com демку для дерева (http://www.devexpress.com/Downloads/VCL/ExDBTree/files/etreedemo.zip) правда без исходников. Похоже я неправильно понял назаначение этого компонента. Я думал, что он умеет отображать в виде дерева связанные таблицы, т.е. в корне дерева список всех значений ключевого поля таблицы, а при их выборе отображаются записи из другой таблицы... А компонент работает только с одной таблицей...
Видимо придётся ручками дерево строить, вот только потом надо придумать как обработать навигацию по тому дереву

Всего записей: 1090 | Зарегистр. 24-10-2005 | Отправлено: 07:50 06-07-2006
KIRILLKV

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xokc
Key конечно проставлены (иначе, вообще, работать не будет)
Так вот, результаты танцев с бубном.
Key detail-a получался при помощи ф-ции NewID() MSSQL (генерит GUID), заменил на генерацию int. Обнаружил, что Grid при перемещении между детайлами пытается подстроится под значение Key из предыдущего детейла. Отключил синронизацию у TableView детайла - заработало как надо(и с ключом по GUID тоже).
А как програмно в Master-e вызвать механизм перечитывания своего уже открытого detail-a после POST?(ключевое поле не меняется, в detail - история по master-у)
 
Добавлено:
Получилось так:
Попробовал после POST вызывать DoDetailFirst DataModeControllera предварительно изменяя параметр DataSet-a detaila. Заработало
Потом просто закрыл DataSet-a detaila, изменил пар-р на NULL(так у меня ничего не возвращает) и открыл detail, cxGrid сам входит в проверку валидности своего detail-a и всё работает

Всего записей: 37 | Зарегистр. 09-09-2005 | Отправлено: 09:45 06-07-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KIRILLKV
 
А на какое событие ты синхронизацию делаешь?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 12:48 06-07-2006
mad0max



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vcrank
 
А чем тебя в этом плане cxGrid не устраивает? Он замечательно работает с таблицами master-detail
 
 

Всего записей: 36 | Зарегистр. 22-01-2003 | Отправлено: 12:55 06-07-2006
vcrank

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

Цитата:
А чем тебя в этом плане cxGrid не устраивает? Он замечательно работает с таблицами master-detail

Да я уже подумываю использовать сетку...

Всего записей: 1090 | Зарегистр. 24-10-2005 | Отправлено: 14:08 06-07-2006
KIRILLKV

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
У меня используется свой компонент, кот объединяет клиентский датасет и провайдер, редакция построчная, после записи провайдером в БД, генерю своему компоненту событие OK или ОШИБКА. Вот при получении OK и перечитываю detail. При  варианте построчного сохранения на обычном компоненте это будет, наверное, AfterPost.
 
Добавлено:
Кстати, никто не может поделиться bat файлами компиляции DevExpress ???
(Постов не хватает, чтобы брать из обменника, а июньские девки скачал у кит. по полной)

Всего записей: 37 | Зарегистр. 09-09-2005 | Отправлено: 14:54 06-07-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KIRILLKV
 
Не понял, у тебя для каждой master записи свой detail DataSet?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 15:22 06-07-2006
KIRILLKV

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
Конечно нет, но detail стоит в режиме DetailInSQLMode, при котором вызывается получение данных из DataSet(у меня ADOStoredProc) для нужной записи master-a(пар-ры процедуры - ключ мастера).
 
При редакции даты в гриде при открытии редактора(календарика) попал на EconvertError ('0.0' is not valid timestamp). Это проблемы константы NullDate в cxDateUtils, которая здесь обсуждалась? Редактор не DB прекрасно работает.  
 
 
Проблема с '0.0' is not valid timestamp оказалась никак не связана с DevExpress
Ошибка происходила на DataSet.FieldByName('DB').OldValue=Null, когда она действительно Null

Всего записей: 37 | Зарегистр. 09-09-2005 | Отправлено: 16:58 06-07-2006 | Исправлено: KIRILLKV, 10:01 07-07-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KIRILLKV
 
Тогда странно, что у тебя проблемы с синхронизацией. У меня, как правило, больше параметров в detail DataSet, чем необходимых полей в master'е, поэтому использую упоминавшиеся выше события DataController.DataModeController. Да и компонент использую, для которого Борланд не реализовывал связку мастер-детейл.
 
Кстати, перечитываю текущий детей связкой DataSet.DisableControls/DataSet.EnableControls, а между ними какой нибудь параметр сбрасываю в 0 или NULL.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 17:46 06-07-2006
VAbramyak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
Есть sqlquery c параметрами. Хотел сделать ввод параметров через VerticalGrid
Но как в делфи его заполнить не понял! Нужно для каждого параметра вставить строку в ней вписать название параметра и выставить EditProperties  соответственно типу параметра! Всем спасибо кто поможет!

Всего записей: 191 | Зарегистр. 16-09-2005 | Отправлено: 01:33 07-07-2006
makz

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VAbramyak
procedure TRekvForm.FormCreate(Sender: TObject);
var MyRow:TcxCustomRow;
begin
MyRow:=cxVerticalGrid1.Add(TcxEditorRow);
with MyRow as TcxEditorRow do begin
  Properties.EditPropertiesClass:=TcxMRUEditProperties;
  Properties.Caption:='MyPar';
end;
end;

Всего записей: 1039 | Зарегистр. 17-05-2003 | Отправлено: 02:42 07-07-2006 | Исправлено: makz, 02:46 07-07-2006
mad0max



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vcrank
 
Дак а что думать? бери пользуй... это намного проще (именно для твоей задачи), чем иметь гемморой с TreeList

Всего записей: 36 | Зарегистр. 22-01-2003 | Отправлено: 05:39 07-07-2006
vcrank

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mad0max
Просто TreeView привычнее выглядит...

Всего записей: 1090 | Зарегистр. 24-10-2005 | Отправлено: 07:00 07-07-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vcrank
 
Дело не только в том, что TreeView привычнее выглядит, но в гриде больше 2-х уровней смысла делать не имеет. Пользователи начинают путаться и отказываются работать в таком варианте. Правда вопрос стоял о TdxDBTreeView, предлагаю пользоваться TcxDBTreeList.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 12:19 07-07-2006
SerjP75

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пытаюсь в связке Master-Detail (cxGrid), вносить данные через буфер обмена(выбранная колонка - несколько записей). В Master TableView вносится нормально (через MasterView.Controller.FocusedColumn.EditValue := S1)
А как вносить в Detail? (аналогичный способ не сробатывает)

Всего записей: 18 | Зарегистр. 17-02-2006 | Отправлено: 13:02 07-07-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SerjP75
 
Это, наверное, потому что ты пытаешься вставить данные не в конкретный DetailView, а в "pattern" view.  "Pattern" view нужен только как прототип для создания клонов DetailView, которые ты реально и видишь на экране, т.е. каждой мастер записи соответствует свой клон. Если cxGrid.FocusedView = DetailView (клон), то проблем не должно быть. Если = MasterView, то MasterView.Controller.FocusedRecord надо преобразовать к TcxGridMasterDataRow, а у него есть свойство ActiveDetailGridView, что тебе и нужно

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 13:20 07-07-2006
vcrank

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

Цитата:
Правда вопрос стоял о TdxDBTreeView, предлагаю пользоваться TcxDBTreeList.
 

А разве он умеет отображать связи 2-х и более таблиц?

Всего записей: 1090 | Зарегистр. 24-10-2005 | Отправлено: 14:33 07-07-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vcrank
 
Нет, работает с одним DataSet.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 15:11 07-07-2006
makz

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

Цитата:
А разве он умеет отображать связи 2-х и более таблиц?

DBFlyTreeViewPro вроде умеет.

Всего записей: 1039 | Зарегистр. 17-05-2003 | Отправлено: 11:47 10-07-2006
vcrank

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

Цитата:
DBFlyTreeViewPro вроде умеет.

Если я правильно понял, то компонент платный =(. За поиском "бесплатной версии" обязательно надо обращаться в другой топик (http://forum.ru-board.com/topic.cgi?forum=35&topic=30992)?

Всего записей: 1090 | Зарегистр. 24-10-2005 | Отправлено: 07:13 11-07-2006 | Исправлено: vcrank, 07:13 11-07-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-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru

Рейтинг.ru