怎么添加向datawindow动态添加列?
------解决方案--------------------
动态添加列,需要根据sql语句,动态创建数据窗口
string as_sql, ls_syntax, error_sql, ls_ret
datastore lds_data
lds_data = create datastore
as_sql = "select 1, 2, 3 from dual" //Oracle
ls_syntax = syntaxfromsql(sqlca, as_sql, "style(type=grid),column(font.facename='arial',font.size=-9))", error_sql)
if len(error_sql) > 0 then
ls_ret = '!@!syntaxfromsql Error:' + error_sql + '~r~n' + as_sql
else
lds_data.create(ls_syntax, error_sql)
if len(error_sql) > 0 then
ls_ret = '!@!Create Datawindow Error:' + error_sql
else
//
end if
end if
destroy lds_data
------解决方案--------------------
string as_sql, ls_syntax, error_sql, ls_ret
datastore lds_data
lds_data = create datastore
as_sql = "select 1, 2, 3 from dual" //Oracle
ls_syntax = syntaxfromsql(sqlca, as_sql, "style(type=grid),column(font.facename='arial',font.size=-9))", error_sql)
if len(error_sql) > 0 then
ls_ret = '!@!syntaxfromsql Error:' + error_sql + '~r~n' + as_sql
else
lds_data.create(ls_syntax, error_sql)
if len(error_sql) > 0 then
ls_ret = '!@!Create Datawindow Error:' + error_sql
else
//
end if
end if
destroy lds_data
------解决方案--------------------
DataWindow的语法是按照数据源来的,所以要动态的话,一般要重新拼凑数据源,其实从External Source就可以看出了,动态创建DataWindow很简单
gnv_sui_DataWindow.of_GridSourceSelect() //外部数据源
gnv_sui_DataWindow.of_GridObjectEdit("CHAR(255)","S_Code","编号",300PBU)
gnv_sui_DataWindow.of_GridObjectEdit("CHAR(255)","S_Name","名称",400PBU)
gnv_sui_DataWindow.of_GridObjectEdit("CHAR(255)","S_Memo","备注",500PBU)
看得懂吗?