нарисование таблицы и занесение данных

Страницы: 1
RSS
нарисование таблицы и занесение данных, занесение данных в таблицу с любого места программы
 
таблица может нарисоваться в начале.
id=0
is_run = true
count = 0
k=0
function main()
while is_run do
 sleep(100)
 robot()
end
end

       N = AllocTable(); --id -- N  
       -- Добавляет 6 колонок
       AddColumn(N, 0, "ххххххх", true, QTABLE_INT_TYPE, 15);
       AddColumn(N, 1, "уууууу", true, QTABLE_INT_TYPE, 15);
       AddColumn(N, 2, "здздзд", true, QTABLE_INT_TYPE, 15);
       AddColumn(N, 3, "название", true, QTABLE_INT_TYPE, 15);
       message(tostring(CreateWindow(N)),k)

function robot()
local N1=getNumCandles("SBER_low")
.................................................
.................................................
.............................................
шаговый цикл до значения
проверка условия

        message("х = "..х)
        message("у  = "..у )
        message("зэд = "..зэд)
        message("название", 3)--;


                  -- Вставляем данные в табличку
                  SetCell(N, k, 0, хххххххххх);
                  SetCell(N, k, 1, tostring(ууууууу));
                  SetCell(N, k, 2, tostring(зедзед));
                  SetCell(N, k, 3, tostring(название));
       message(tostring(CreateWindow(N)),k)

       InsertRow(N,k )-- любые буквы .не работает
        k = k+1
конец условия
конец шагового цикла

-----------
если внутри программы объявить таблицу,таблица с с пустыми строками с каждым циклом появляется новая.
понятно нет подхвата занесения построчно в таблицу полученных значений.
значения есть.месидж выводит.
 
Здравствуйте,
InsertRow нужно вызывать до SetCell
и потом сама InsertRow умеет возвращает номер строки, который следует передать в SetCell, т.е. конструкция k = k+1  не требуется
Для этого в качестве параметра key укажите -1
k=InsertRow(N,-1)
SetCell(N, k, 0, хххххххххх);
...
 
еще одно, в AddColumn у Вас указанно QTABLE_INT_TYPE т.е. предполагается что в колонках будут числа а не строки, Вы же передаете туда строки.
 
да. мне надо передавать числа строкой.
 
Цитата
Sergey Gorokhov написал:
еще одно, в AddColumn у Вас указанно QTABLE_INT_TYPE т.е. предполагается что в колонках будут числа а не строки, Вы же передаете туда строки.
напишите пожалуйста
 
Здравствуйте,
Если нужно передать числа строкой, то добавлять значение в таблицу правильно так:
SetCell(N, k, 0, tostring(хххххххххх),хххххххххх);

либо вообще переделать тип в строковый:
AddColumn(N, 0, "ххххххх", true, QTABLE_CACHED_STRING_TYPE, 15);
тогда можно оставить как есть SetCell(N, k, 0, хххххххххх);

но первый вариант лучше т.к. можно будет корректно сортировать/фильтровать данные в таблице через интерфейс, стандартным образом.
 
не получается. 0
0
иногда 1
0
потом числа. чисел в таблице нет.
AddColumn(N,k,  0, "ххххххх", true, QTABLE_INT_TYPE, 15);--так нет колонок таблицы.
SetCell(N, 0, хххххххххх); -- без пусто.
переписал. эти варианты два .пусто.

Может за цикл вывести занесение данных.вниз или вверх?
Страницы: 1
Читают тему
Наверх