//列复制功能
Long current_col,current_row ,m_k ,row_count
String ls_col_type,m_string,ls_column_name
Long m_number,select_row
Dec ld_number
DateTime m_data
Time m_time
Boolean relu
Integer li_ret
m_string=Clipboard()
if isnull(m_string) or trim(m_string)='' then return
li_ret = MessageBox('提示','确定要复制?',Question!,Yesno!)
IF li_ret <> 1 THEN
RETURN
END IF
dwnow.AcceptText()
current_col = dwnow.GetColumn ( )
current_row = dwnow.GetRow ( )
select_row = dwnow.GetSelectedRow(0)
IF current_row <= 0 OR current_col <= 0 THEN
RETURN
END IF
ls_column_name = dwnow.GetColumnName ( )
ls_col_type = dwnow.Describe(ls_column_name+".ColType")
row_count = dwnow.RowCount ( )
CHOOSE CASE Left(ls_col_type,4)
CASE 'varc' ,'char','stri'
m_string=Clipboard()
FOR m_k = 1 TO row_count
relu = dwnow.IsSelected(m_k)
if dwnow.IsSelected(m_k) then
dwnow.SetItem(m_k, current_col ,m_string)
end if
NEXT
CASE "numb",'long','deci','inte'
m_number=dec(Clipboard())
FOR m_k = 1 TO row_count
if dwnow.IsSelected(m_k) then
dwnow.SetItem(m_k, current_col ,m_number)
end if
NEXT
CASE "date"
m_data=datetime(Clipboard())
FOR m_k = 1 TO row_count
if dwnow.IsSelected(m_k) then
dwnow.SetItem(m_k, current_col ,m_data)
end if
NEXT
END CHOOSE