|
//得到分栏数
STRING ls_Count
ls_Count=dw_Data.Describe("DataWindow.Rows_Per_Detail")
IF ls_Count="!" OR ls_Count="?" OR ls_Count="" THEN RETURN
//获得数据源语法
STRING ls_Syntax
ls_Syntax=dw_Data.Describe("DataWindow.Syntax")
//查找,仔细看,这是我的厉害之处,代码纯手敲,网上没有的
STRING ls_Sparse="",ls_Sparses[]
ls_Sparses[1]="Rows_Per_Detail = "+ls_Count //DW自己的生成的语法等号左右有空格
ls_Sparses[2]="Rows_Per_Detail="+ls_Count //我自己创建的语法一般不保留空格
ls_Sparses[3]="Rows_Per_Detail ="+ls_Count //这个少打了个空格
ls_Sparses[4]="Rows_Per_Detail= "+ls_Count //也是少打了个空格,以上四种最常见,特殊的不考虑
LONG ll_Loop,ll_Position
FOR ll_Loop=UpperBound(ls_Sparses[]) TO 1 STEP -1
ll_Position=PosW(ls_Syntax,ls_Sparses[ll_Loop])
IF ll_Position<1 THEN CONTINUE
ls_Sparse=ls_Sparses[ll_Loop]
EXIT
NEXT
IF ls_Sparse="" THEN RETURN
//拆出前后
STRING ls_Part[]
ls_Part[1]=MidW(ls_Syntax,1,ll_Position - 1)
ls_Part[2]=MidW(ls_Syntax,ll_Position + LenW(ls_Sparse))
//重新组合,这次是分100列,以下那种都可以
ls_Syntax=ls_Part[1] + "Rows_Per_Detail = 100" + ls_Part[2]
ls_Syntax=ls_Part[1] + "Rows_Per_Detail=100" + ls_Part[2]
ls_Syntax=ls_Part[1] + "Rows_Per_Detail =100" + ls_Part[2]
ls_Syntax=ls_Part[1] + "Rows_Per_Detail= 100" + ls_Part[2]
dw_Data.Create(ls_Syntax)
|
|