Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Использование DevExpress (часть 4)

Автор: X11
Дата сообщения: 10.03.2010 15:13

Цитата:
В идеале хотелось бы сделать источником данных StringGrid.

Не понял. Ты хочешь, что бы источником данных для cxGrid была компонента TStringGrid??
Автор: Tiberi
Дата сообщения: 10.03.2010 15:18
Да смотрел я демки. Из того, что видел яснее не стало...
А суть проблемы такова:
я разбираю xml-файлы известного формата и записываю их в таблицу. Раньше делал в StringGrid (всё хорошо работало), потом решил использовать cxGrid и никак не могу понять, как это сделать

Добавлено:
Максимум чего добился - это при использовании JvCsvDataSet (открываю csv-файл), у cxGrid появляется сетка таблицы, но значениями она не заполняется, хотя они вроде как есть.
Автор: X11
Дата сообщения: 10.03.2010 15:43

Цитата:
я разбираю xml-файлы известного формата и записываю их в таблицу. Раньше делал в StringGrid (всё хорошо работало), потом решил использовать cxGrid и никак не могу понять, как это сделать

Дошло. Ты хочешь использовать cxGrid без источника данных.
У cxGrid удали существующий TcxGridDBTableView, затем там создай TcxGridTableView. Выдели уровень и в свойствах уровня выбери только что созданный TcxGridTableView.

В коде всё очень просто:

Код:
cxGridTableView1.datacontroller.Append;
cxGridTableViewColumn1.Value := ...
cxGridTableView1.datacontroller.post;
Автор: Tiberi
Дата сообщения: 10.03.2010 15:46
Спасибо, сейчас попробую

Добавлено:
Так, почему-то у cxGridTableViewColumn1 нет такого параметра Value...
Автор: sldaac
Дата сообщения: 10.03.2010 16:19
Tiberi

Цитата:
А можно другой способ - в качестве источника данных использовать DataSet в памяти - TdxMemData. И оперировать записями непосредственно в dxMemData. А dxMemData привязать к гриду через TDataSource как к обычному датасету. Там всё просто, как Божий день

используй так, проще и быстрее, а то запутаешся совсем.
вот пиши xml в dxMemData
Автор: Tiberi
Дата сообщения: 10.03.2010 16:28
У меня по ходу dxMemData не установлена...
Автор: sldaac
Дата сообщения: 11.03.2010 08:25

Цитата:
У меня по ходу dxMemData не установлена...

если ставил девок, то должен быть, ищи по закладкам

Добавлено:
Под какой делфи пробуеш??7

Добавлено:
http://rapidshare.com/files/361805211/1111.rar.html
вот 3 компонента и всего делов
Автор: Tiberi
Дата сообщения: 11.03.2010 09:01
sldaac
Делфи 7. Видимо я какую-то левую или обрезанную версию поставил. Нет у меня TdxMemData...
Автор: JohnSilver182
Дата сообщения: 11.03.2010 09:23

Цитата:
А можно другой способ - в качестве источника данных использовать DataSet в памяти - TdxMemData

Надо и мне не забыть про это
Автор: sldaac
Дата сообщения: 11.03.2010 09:33

Цитата:
Делфи 7. Видимо я какую-то левую или обрезанную версию поставил. Нет у меня TdxMemData..

да где нашел такую..... может не все установил???
найди тогда kbmMemTable, тоже отлично пойдет

Добавлено:
могу и под 7 делфи проект сделать....
а лучше найди девок с автоинсталером (более рание версии) и поставится весь комплект
Автор: SIgor33
Дата сообщения: 11.03.2010 09:53
Tiberi

Цитата:
Делфи 7. Видимо я какую-то левую или обрезанную версию поставил. Нет у меня TdxMemData...

сейчас в варезнике естьс автоинсталером последняя
http://forum.ru-board.com/topic.cgi?forum=35&topic=43303&start=2760
Автор: sldaac
Дата сообщения: 11.03.2010 10:20
SIgor33
у человека нехватает постов до обменика
и там уже не последняя версия, есть уже 49 версия.
Tiberi
поищи на http://rutracker.org/, выкладывали более рание версии.

Автор: Tiberi
Дата сообщения: 11.03.2010 11:08
Скачал компонент на delphifans. Установил, сейчас буду пробовать.
Автор: SIgor33
Дата сообщения: 11.03.2010 14:46
sldaac
А я про 49 и говорю.feandy под коврик положил с загадкой постов не хреба
Автор: Tiberi
Дата сообщения: 11.03.2010 14:59
Что или я дурак или лыжи по асфальту не едут.
Наличие dxMemData процесс с мёртвой точки не сдвинуло...
Автор: sldaac
Дата сообщения: 11.03.2010 15:33

Цитата:
Что или я дурак или лыжи по асфальту не едут.
Наличие dxMemData процесс с мёртвой точки не сдвинуло...

ну открой архив что я указал, возьми 2 файла и открой их у себя в делфи. Я в 2009 делал, но форма должна открыться
Автор: Tiberi
Дата сообщения: 11.03.2010 16:21
sldaac, всё открылось. Я посмотрел. Но я не понимаю, как записать значения в cxGrid.
Я пишу например: dxmemdata1.LoadFromTextFile('c:\rey1.txt');
и он ничего не грузит оттуда...
Автор: jonikDk
Дата сообщения: 11.03.2010 16:59
Tiberi
в грид не надо ничего записывать, надо его подключить к TdataSource и создать объекты-столбцы в cxgrid и тогда все будет отображаться. (В Дизайне открываешь датасет затем заходишь Редактор грида
и жмешь Retrieve Fields или Retrieve Missed Fields )
Автор: sldaac
Дата сообщения: 11.03.2010 17:02
Tiberi
ничего писать ненадо в грид.
пишеш в dxmemdata1.LoadFromTextFile('c:\rey1.txt');
в том проекте есть связь DataSet-DataSourse-cxGridDBTableView
вот и все, когда запускаеш проект данные должны отобразиться
Автор: Tiberi
Дата сообщения: 12.03.2010 13:00
Связь есть (dxMemData1 - DataSource1 - cxGrid1DBTableView1), но не отображается ничего...

Цитата:
(В Дизайне открываешь датасет затем заходишь Редактор грида
и жмешь Retrieve Fields или Retrieve Missed Fields )

Об этом можно подробнее?
Автор: volser
Дата сообщения: 12.03.2010 13:32
Tiberi
Просто нужно добавить нужные колонки.
Автор: X11
Дата сообщения: 12.03.2010 13:39
Можно. Но я уверен, почему-то, что тебе здесь этого никто расписывать не будет с картинками. Ибо это на столько просто и понятно, что программисту пояснять "на пальцах" этого не нужно. В любом случае открой примеры и посмотри справку.
Предвидя твой вопрос, сразу отвечу, что справка и примеры есть у них на сайте.
Нет, ну честно. Неужели сложно соединить три компоненты и нажать пару кнопок?
Автор: sldaac
Дата сообщения: 12.03.2010 13:57

Цитата:
Связь есть (dxMemData1 - DataSource1 - cxGrid1DBTableView1), но не отображается ничего..

в том проекте, я все настроил, тебе надо просто в событие OnShow формы открыть dxMemData1 и добавить твои записи-данные. Там два поля, и все, когда форма станет активной-отобразиться, ты увидиш свои данные.

Добавлено:
http://rapidshare.com/files/362361381/qqq.rar.html
вот добавь в проект и запусти
Автор: sam291074
Дата сообщения: 15.03.2010 19:21
Подскажите, можно ли сделать так, чтобы фон Express-ного RichEdita совпадал с фоном скинабельной формы? Или другими словами был бы Edit прозрачным. Чего-то не могу найти решение.
Автор: vladman
Дата сообщения: 16.03.2010 02:13
sam291074

Цитата:
Подскажите, можно ли сделать так, чтобы фон Express-ного RichEdita совпадал с фоном скинабельной формы? Или другими словами был бы Edit прозрачным. Чего-то не могу найти решение.

Не очень тривиальная задача. Для чего именно вам нужно добиться прозрачности cxRichEdita?
Как некоторое решение могу предложить задание прозрачности для RichEdita (стандартного)

Код: SetWindowLong(<YourRichEdit>.Handle, GWL_EXSTYLE, WS_EX_TRANSPARENT);
<YourRichEdit>.Brush.Style := BsClear;
Автор: Cryogen2003
Дата сообщения: 16.03.2010 09:30
vladman
Нет, сейчас эта проблема не актуальна, так как на 49 версию еще не переходил, а для 48 версии чуть дописал класс и теперь у меня все работает.

Кстати, у вас случайно нет выхода на оставление комментарий или сообщений об ошибках для разрабов DevExpress? Просто уже дофига версий жду, когда им кто-то сообщит об ошибке, которую всегда приходиться самому исправлять в их исходниках.
Автор: FyodorovMA
Дата сообщения: 16.03.2010 10:24
Работаю с cxGrid, у одного из полей стоит Properties->ButtonEdit. При редактировании данной ячейки по правой кнопке мыщи вылетает контексное меню от компонента, похоже строго защитое. Его можно как то отключить?
Автор: vladman
Дата сообщения: 16.03.2010 11:18
Cryogen2003

Цитата:
у вас случайно нет выхода на оставление комментарий или сообщений об ошибках для разрабов DevExpress?

Можете попробовать обратиться к Radio_Kat ). http://forum.ru-board.com/topic.cgi?forum=33&topic=10123&start=1960#4


Цитата:
Просто уже дофига версий жду, когда им кто-то сообщит об ошибке, которую всегда приходиться самому исправлять в их исходниках.

А что за баг, если не секрет?
Автор: Cryogen2003
Дата сообщения: 16.03.2010 11:22
vladman
Дык уже не раз писал же. Выделение записей через Ctrl при включенном CellMultiSelect не работает.
Автор: vladman
Дата сообщения: 16.03.2010 12:44
Cryogen2003

Цитата:
Просто уже дофига версий жду, когда им кто-то сообщит об ошибке,


Цитата:
Выделение записей через Ctrl при включенном CellMultiSelect не работает.

Это скорее всего не ошибка, а нереализованная функциональность.
Такой сэджешн уже как 4 года существует - Suggestion Details: Multi-block cell selection _http://www.devexpress.com/Support/Center/p/A1159.aspx.
Но есть надежда, что в этом году его смогут реализовать уже в 7-й версии грида - Question Details: How select any few cells on grid in multiselect mode ? _http://www.devexpress.com/Support/Center/p/Q249702.aspx.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.