AddColumn

Функция добавляет колонки в таблицу с идентификатором «t_id». Функция возвращает «1», если колонка в таблицу добавлена, иначе – «0».
NUMBER AddColumn (NUMBER t_id, NUMBER iCode, STRING name, BOOLEAN is_default, NUMBER par_type, NUMBER width)
iCode – код параметра, выводимого в колонке;
  • name – название колонки;
  • is_default – параметр не используется;
  • par_type – тип данных в колонке, одна из следующих констант:
    • QTABLE_INT_TYPE – целое число;
    • QTABLE_DOUBLE_TYPE – число с плавающей точкой;
    • QTABLE_INT64_TYPE – 64-битное целое число;
    • QTABLE_CACHED_STRING_TYPE – кэшируемая строка;
    • QTABLE_TIME_TYPE – время;
    • QTABLE_DATE_TYPE – дата;
    • QTABLE_STRING_TYPE – строка.
  • width – ширина в условных единицах.

Примеры:

  • 37
-- Создаем новую переменную
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