Add Column #
Функция добавляет колонки в таблицу с идентификатором «t_id». Функция возвращает «1», если колонка в таблицу добавлена, иначе – «0».
Формат вызова: #
NUMBER AddColumn (NUMBER t_id, NUMBER iCode, STRING name, BOOLEAN is_default, NUMBER par_type, NUMBER width)
Параметры: #
| Параметр | Тип | Описание |
| iCode | NUMBER | Код параметра, выводимого в колонке |
| name | STRING | Название колонки |
| is_default | BOOLEAN | Параметр не используется |
| par_type | NUMBER | Тип данных в колонке, одна из следующих констант: QTABLE_INT_TYPE – целое число; QTABLE_DOUBLE_TYPE – число с плавающей точкой; QTABLE_INT64_TYPE – 64-битное целое число; QTABLE_CACHED_STRING_TYPE – кэшируемая строка; QTABLE_TIME_TYPE – время; QTABLE_DATE_TYPE – дата; QTABLE_STRING_TYPE – строка. |
| width | NUMBER | Ширина в условных единицах |
Примеры: #
-- Создаем новую переменную
QTable ={}
QTable.__index = QTable
-- Функция инициализации таблицы
function QTable.new()
local t_id = AllocTable()
if t_id ~= nil then
q_table = {}
setmetatable(q_table, QTable)
q_table.t_id=t_id
q_table.caption = ""
q_table.created = false
q_table.curr_col=0
-- Таблица с описанием параметров столбцов
q_table.columns={}
return q_table
else
return nil
end
end
Создаем и инициализируем экземпляр таблицы QTable
test_table = QTable:new()
-- Функция инициализации таблицы
function InitTable()
tt = test_table.t_id
AddColumn(tt, 1, 'Колонка №1', true,QTABLE_STRING_TYPE,12)
AddColumn(tt, 2, 'Колонка №2', true,QTABLE_CACHED_STRING_TYPE,12)
AddColumn(tt, 3, 'Колонка №3', true,QTABLE_STRING_TYPE,7)
-- Подписываемся на события
SetTableNotificationCallback(tt, OnTableEvent)
-- Создаем окно с таблицей
CreateWindow(tt)
-- Присваиваем окну заголовок
SetWindowCaption(tt, "Окно с таблицей")
-- Задаем позицию окна
SetWindowPos(tt, 0, 70, 692, 240)
end
-- Функция обрабатывает события в таблице
function OnTableEvent(t_id, msg, par1, par2)
-- Если был клик левой кнопкой
if msg == QTABLE_LBUTTONDBLCLK then
-- Если это общий стоп
if par1 == 1 -- Номер строки
and par2 == 1 then -- Номер колонки
-- Вызываем необходимую функцию
else
if par2 == 2 then
-- Вызываем необходимую функцию
end
end
end
end
