Содержание
Dataset.Insert(Position:Integer; Map:String; Source:Table) : Integer
Вставить строки из таблицы
Метод Dataset.Insert вставляет перед строкой Position все строки из Source. Параметр Map определяет соответствие колонок таблиц в формате "имя_колонки_назначения=имя_колонки_источника, имя_колонки_назначения=имя_колонки_источника". Вместо имени колонки назначения можно использовать номер: "#0=имя_колонки_источника".
Колонки ссылки из Table вставляются как пара колонок: код и текст. Что бы получить лишь одно значение используйте: "#0=имя_колонки_источника.Id" и "#1=имя_колонки_источника.Text".
Пример (скопируйте и вставьте в дерево редактора):<?xml version="1.0" encoding="windows-1251"?> <Module Type="Form" Name="DemoForm" Description="Демо"> <Form Width="320" Height="240" Icon="-1"> <list Config="64\nA\nA\nstring\n\n\n\n\n\n64\nB\nB\nString\n\n\n\n\n\n" Width="320" Height="240" Name="Table1" Border="16" WindowAlign="9"/> </Form> <Programm Language="Similar Pascal"> Procedure OnCreate; Var Dataset1 : Dataset Of Record X, Y:String; End; Begin Table1.Append; Table1[0].a := 'a'; Table1[0].b := 'b'; Table1.Append; Table1[1].a := 'c'; Table1[1].b := 'd'; Table1.Append; Table1[2].a := 'e'; Table1[2].b := 'f'; // Эти две команды идентичны Dataset1.Insert(0, '#0=b,#1=a', Table1); Dataset1.Insert(0, 'x=b,y=a', Table1); Table1.Clear; Table1.Insert(0, 'a=x,b=y', Dataset1); End; </Programm> </Module>Результат:
A | B |
---|---|
b | a |
d | c |
f | e |
b | a |
d | c |
f | e |