here is a little code I did its just shows reading a cell value and writing to a cell
and a event function() if the left button is pressed in a cell and changing row and col labels
not what your are looking for but maybe something useful here
[----------------------------------------------------------------------------
-- Load the wxLua module, does nothing if running from wxLua, wxLuaFreeze, or wxLuaEdit
--package.cpath = package.cpath..";./?.dll;./?.so;../lib/?.so;../lib/vc_dll/?.dll;../lib/bcc_dll/?.dll;../lib/mingw_dll/?.dll;"
--require("wx")
function CreateLables(Cnt)
RowGridLables = {}
RowGridLables[0] = "Name"
RowGridLables[1] = "Date"
RowGridLables[2] = "Year"
RowGridLables[3] = "Time"
RowGridLables[4] = "Phone"
ColsGridLables = {}
ColsGridLables[0] = "Col1"
ColsGridLables[1] = "Col2"
ColsGridLables[2] = "Col3"
ColsGridLables[3] = "Col4"
ColsGridLables[4] = "Col5"
--local Cnt = 5
local Rows = 0
local Colm = 0
while (Rows ~= Cnt) and (Colm ~= Cnt) do
wx.wxMessageBox("Rows = "..Rows.." Gridnames = "..RowGridLables[Rows])
UI.m_grid2:SetRowLabelValue( Rows, RowGridLables[Rows])
UI.m_grid2:SetColLabelValue(Colm, ColsGridLables[Rows])
Rows = Rows + 1
Colm = Colm + 1
end
UI.m_grid2:SetCellValue( 0, 3, "This only" )
UI.m_grid2:SetColFormatFloat(0, 4, 2);
UI.m_grid2:SetCellValue( 0, 4, "3.1415" )
UI.m_grid2:SetCellValue( 1, 2, "This only" )
UI.m_grid2:SetColFormatFloat(0, 3, 2);
UI.m_grid2:SetCellValue( 2, 3, "3.1415" )
local value = UI.m_grid2:GetCellValue(2,3)
wx.wxMessageBox("Row 2 Col 3 = "..value)
end
UI = {}
-- create MyDialog1
UI.MyDialog1 = wx.wxDialog (wx.NULL, wx.wxID_ANY, "", wx.wxDefaultPosition, wx.wxSize( 745,451 ), wx.wxDEFAULT_DIALOG_STYLE )
UI.MyDialog1:SetSizeHints( wx.wxDefaultSize, wx.wxDefaultSize )
UI.fgSizer3 = wx.wxFlexGridSizer( 0, 2, 0, 0 )
UI.fgSizer3:SetFlexibleDirection( wx.wxBOTH )
UI.fgSizer3:SetNonFlexibleGrowMode( wx.wxFLEX_GROWMODE_SPECIFIED )
UI.m_staticText2 = wx.wxStaticText( UI.MyDialog1, wx.wxID_ANY, "MyLabel", wx.wxDefaultPosition, wx.wxDefaultSize, 0 )
UI.m_staticText2:Wrap( -1 )
UI.fgSizer3:Add( UI.m_staticText2, 0, wx.wxALL, 5 )
UI.m_button3 = wx.wxButton( UI.MyDialog1, wx.wxID_ANY, "MyButton", wx.wxDefaultPosition, wx.wxDefaultSize, 0 )
UI.fgSizer3:Add( UI.m_button3, 0, wx.wxALL, 5 )
UI.m_staticText3 = wx.wxStaticText( UI.MyDialog1, wx.wxID_ANY, "MyLabel", wx.wxDefaultPosition, wx.wxDefaultSize, 0 )
UI.m_staticText3:Wrap( -1 )
UI.fgSizer3:Add( UI.m_staticText3, 0, wx.wxALL, 5 )
UI.m_button4 = wx.wxButton( UI.MyDialog1, wx.wxID_ANY, "MyButton", wx.wxDefaultPosition, wx.wxDefaultSize, 0 )
UI.fgSizer3:Add( UI.m_button4, 0, wx.wxALL, 5 )
UI.fgSizer4 = wx.wxFlexGridSizer( 0, 2, 0, 0 )
UI.fgSizer4:SetFlexibleDirection( wx.wxBOTH )
UI.fgSizer4:SetNonFlexibleGrowMode( wx.wxFLEX_GROWMODE_SPECIFIED )
UI.m_grid2 = wx.wxGrid( UI.MyDialog1, wx.wxID_ANY, wx.wxDefaultPosition, wx.wxDefaultSize, 0 )
-- Grid
UI.m_grid2:CreateGrid( 5, 5 )
UI.m_grid2:EnableEditing( True )
UI.m_grid2:EnableGridLines( True )
UI.m_grid2:EnableDragGridSize( False )
UI.m_grid2:SetMargins( 0, 0 )
-- Columns
UI.m_grid2:EnableDragColSize( True )
UI.m_grid2:SetColLabelSize( 30 )
UI.m_grid2:SetColLabelAlignment( wx.wxALIGN_CENTRE, wx.wxALIGN_CENTRE )
-- Rows
UI.m_grid2:EnableDragRowSize( True )
UI.m_grid2:SetRowLabelSize( 80 )
UI.m_grid2:EnableEditing( True )
UI.m_grid2:SetRowLabelAlignment( wx.wxALIGN_CENTRE, wx.wxALIGN_CENTRE )
-- Label Appearance
-- Cell Defaults
UI.m_grid2:SetDefaultCellAlignment( wx.wxALIGN_LEFT, wx.wxALIGN_TOP )
UI.fgSizer4:Add( UI.m_grid2, 0, wx.wxALL, 5 )
UI.fgSizer3:Add( UI.fgSizer4, 1, wx.wxEXPAND, 5 )
UI.MyDialog1:SetSizer( UI.fgSizer3 )
UI.MyDialog1:Layout()
CreateLables(5)
UI.m_grid2:Connect(wx.wxEVT_GRID_CELL_LEFT_CLICK,
function(event)
wx.wxMessageBox("Based on the C++ version by Marco Ghislanzoni.\n"..
wxlua.wxLUA_VERSION_STRING.." built with "..wx.wxVERSION_STRING,
"About wxLua Temperature Converter",
wx.wxOK + wx.wxICON_INFORMATION,
UI.MyDialog1)
end)
UI.MyDialog1:Centre( wx.wxBOTH )
UI.MyDialog1:Show()
wx.wxGetApp():MainLoop()
/code]