//提取动态交叉报表动态标题名和动态列值:
String ls_Str, ls_Str1, ls_Name, ls_Name_Text, ls_Text
Long ll_Cnt, ll_CntTmp, i, ll_Row
dwobject ldwo
environment env
GetEnvironment(env)
ll_Cnt = Long(dw_2.Describe('DataWindow.Column.Count'))
//设置静态模式
dw_2.Modify('datawindow.crosstab.staticmode=yes')
ll_CntTmp = Long(dw_2.Describe('DataWindow.Column.Count'))
FOR i = 0 To ll_CntTmp - ll_Cnt
ls_Name = dw_2.Describe('#' + String(ll_Cnt) + '.Name')
//获取动态标题名
IF i = 0 THEN
ls_Name_Text = ls_Name + '_t'
ls_Text = dw_2.Describe( ls_Name_Text + '.Text')
ELSE
ls_Name_Text = ls_Name + '_t_' + String(i)
ls_Text = dw_2.Describe( ls_Name_Text + '.Text')
END IF
//获取动态列名
ls_Name = dw_2.Describe('#' + String(ll_Cnt + i) + '.Name')
//当前pb版本
IF env.PBMajorRevision > 6 THEN
//返回dwobject
ldwo = dw_2.Object.__get_attribute( ls_Name, True )
ELSE
//pb6使用get_attribute返回dwobject
ldwo = dw_2.Object.get_attribute( ls_Name, True )
END IF
//获取动态列值
ls_Str1 = ''
FOR ll_Row = 1 To dw_2.RowCount()
ls_Str1 += String( ldwo.Primary[ll_Row] ) + ','
NEXT
ls_Str += '标题:' + ls_Name_Text + '~t标题名:' + ls_Text + &
'~t列:' + ls_Name + '~t列值:' + ls_Str1 + '~r~n'
NEXT
//设回动态模式
dw_2.Modify('datawindow.crosstab.staticmode=no')
MessageBox( '', ls_Str )
11-02