{%
local line = ''
if #EventList == 0 then
    echo('System in health state.')
else
    -- 计算结构体参数个数
    local num = 0
    local end_flag = EventList[1].MappingTable[1].Key
    for key, value in pairs(EventList) do
        if value.MappingTable[1].Key == end_flag and key ~= 1 then
            break
        end
        num = num + 1
    end
    -- 格式化结构体,num个结构体构成一条Sel
    local count = 0
    local res = {}
    local event = {}
    for _, v in pairs(EventList) do
        event[v.MappingTable[1].Key] = v.MappingTable[1].Value
        count = count + 1
        if count % num == 0 then
            local temp = event
            event = {}
            res[#res + 1] = temp
        end
    end
    local line =
        string.format(
        '%-10s | %-20s | %-12s | %-12s | %s',
        'Event Num',
        'Event Time',
        'Alarm Level',
        'Event Code',
        'Event Description'
    )
    echo(line, '\n')
    for _, event in ipairs(res) do
        local time = os.date('%Y-%m-%d %H:%M:%S', event.Timestamp)
        line =
            string.format(
            '%-10s | %-20s | %-12s | %-12s | %s\n',
            Count - Skip - Top + 1,
            time,
            event.Severity,
            event.EventCode,
            event.Description
        )
        echo(line)
        if Count - Skip - Top + 1 == Count then
            echo('\b')
        end
        Skip = Skip - 1
    end
end
%}