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


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



в виде таблицы?
...
Рейтинг: 0 / 0
06.09.2019, 13:48
    #39858411
Basketbol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
Подробнее:
Есть тип:
Код: 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
06.09.2019, 13:52
    #39858418
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
Сделай своего наследника от TDataSet на основе этого массива.
...
Рейтинг: 0 / 0
06.09.2019, 13:53
    #39858420
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
Basketbol,

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

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

TDrawGrid.

TListView стиля Report в режиме virtual.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.09.2019, 14:15
    #39858437
Basketbol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
Я забыл уточнить:
это 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
06.09.2019, 14:15
    #39858439
Basketbol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
rgreatСделай своего наследника от TDataSet на основе этого массива.
Можете ткнуть меня в пример ?
...
Рейтинг: 0 / 0
06.09.2019, 14:17
    #39858442
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Показ списка TMyRecord в виде таблицы без БД (VirtualDataSet)
Basketbolэто master - detail данные.

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

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

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

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

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

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


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