powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
21 сообщений из 21, страница 1 из 1
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858409
Basketbol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Какой best way для показа данных типа
Код: pascal
1.
  TMyList = array of TMyRecord;


или
Код: pascal
1.
  TMyList = TList<TMyRecord>



в виде таблицы?
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858411
Basketbol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подробнее:
Есть тип:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
type TMyRecord = record 
  field1: integer;
  field2: string;
end

TListMyRecord = array of TMyRecord;
{или
TListMyRecord = TList<TMyRecord>;
}



Раньше, чтобы показать эти списки - я писал процедуры сохранения в базу, и показывал их как обычную таблицу.
Если бы научиться показывать данные прямо из переменных - мне бы не пришлось писать процедуры для сохранения и изъятия и
этих данных из базы.
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858418
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай своего наследника от TDataSet на основе этого массива.
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858420
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basketbol,

Ключевое отличие списка от массива в том, что увеличение размера списка происходит более оптимально, за счет выделения избыточной памяти.

Т.е. если при формировании данных вы знаете их количество, то лучше использовать массив, если нет, то TList
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858429
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basketbolв виде таблицы?

TDrawGrid.

TListView стиля Report в режиме virtual.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858437
Basketbol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я забыл уточнить:
это master - detail данные.
Т.е.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
type TMyDetailData = record
  field1 : integer;
  field2 : string;
end;

type TMyMasterData = record
  name: string;
  listDetail: array of TMyDetail;
end; 


Что то типа того.
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858439
Basketbol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rgreatСделай своего наследника от TDataSet на основе этого массива.
Можете ткнуть меня в пример ?
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858442
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basketbolэто master - detail данные.

Сугубо пофиг, но ели требудется отображение в виде дерева, то к списку добавляется
VirtualTreeView.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858443
Basketbol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это сейчас нагугил:
http://rsdn.org/article/delphi/dbcontrols.xml
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858475
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опишите природу появления данных.
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858478
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VirtualDataSet - это таблица в памяти TClientDataset, TRXMemoryData, TdxMemData и так далее
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858528
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем компонент TVirtualTable от DevArt бесплатный :

...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858535
Basketbol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBrОпишите природу появления данных.
В общих абстрактных чертах:
В программе есть некие строково - числовые данные.
По этим данным периодические строится тот самый master-detail список который и нужно показать пользователю.
Исходные данные постоянно меняются, соответственно и итоговый список тоже.
И нужно постоянно обновлять этот список.
Соответствеено - записывать сначала данные в базу, потом их оттуда доставать - это все лишние операции, от которых хотелось бы избавиться
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858543
DesWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basketbol,

Ну дык, если это действительно мастер-детализация. то загрузить детейл в, например, ClientDataset и использовать стандартные средства, или руками StartRange|EndRange|ApplyRange(как-то так там). Или я чего-то не понимаю?
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858560
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DesWindИли я чего-то не понимаю?

Лично я не понимаю зачем вообще тут DB-aware. Кому-то хочется сэкономить кожу пальцев не
набирая пару десятков строк кода?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858561
Basketbol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DesWind, может и правильно.
Я просто не понял конкретное решение.
Глобальный смысл моего вопроса - как в принципе показывать данные (списки рекордов, массивы рекордов ) не используя при этом различные TTable. Т.е. избежать написания функций SaveToBase(myListRecord: TListMyRecord)
и LoadFromBase(var myListRecord), а работать именно с переменной.
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858562
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BasketbolrgreatСделай своего наследника от TDataSet на основе этого массива.
Можете ткнуть меня в пример ?Помотрите на TCilentDataSet.

А можно не парится со своим а загрузить данные прямо в него.
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858563
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BasketbolГлобальный смысл моего вопроса - как в принципе показывать данные (списки рекордов,
массивы рекордов ) не используя при этом различные TTable.

Повторяю медленно: TDrawGrid, TListView, TVirtualTreeView. Первые два - штатные, последний
- левый.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39858644
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсем немного требуется чтобы написать шаблон, от которого наследоваться для каждого конкретного ObjectList<T> и все это будет реактивно отображаться хоть в String/DrawGrid хоть в VirtualTreeView
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39859283
stanilar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Марко Кэнту был пример написания датасета по работе со списком объектов. Кстати, существует в виде бесплатного набора компонент от него-же.
...
Рейтинг: 0 / 0
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
    #39859292
Sinemurius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял, то Basketbol до сих пор не понял, что ClientDataset (и прочие memory tables) - это не какие то там базы данных, а данные хранящиеся в памяти.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]