getcolumnname得不到列名解决方案

getcolumnname得不到列名
w_main上的freedom数据窗口dw_1,dw_1上有很多列,w_main有按钮b_1,我想点击b_1得到当前列的名称,以便于用setitem()赋值,b_1下我这样写
aa = dw_2.getcolumnname()
messagebox("",aa)
dw_2.setitem(1,aa,this.text)
目前我用的是getcolumn()方法,可是我又想要dw_1上的列不可录入,我设置了taborder = 0 ,但这样用getcolumn就得不到列名了

控制列不能录入无非就是protected=1,或者taborder=0 这两个都不行,displayonly虽然可以得到,但是他仍有可录入
的样子似的,难看,请问该怎么解决,给点思路


------解决方案--------------------
long ll_col_cnt
long ll_col
string ls_col
string aa,ls_num,ls_mod 
int m 
ll_col_cnt=long(dw_2.Object.DataWindow.Column.Count)
ll_col=long(dw_2.tag)
if ll_col<=0 or ll_col>ll_col_cnt then
ll_col=1 
end if
st_7.text = this.text
aa = Dw_2.Describe("#" + String(ll_col) + ".name") 
dw_2.setitem(1,aa,this.text) 
dw_2.tag=string(ll_col+1) 
dw_2.setcolumn(ll_col+1) 




If li_Col > 0 Then 
ls_ColName = 
End If