⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zl.txt

📁 某 房 产 公 司 售 楼 管 理 系 统
💻 TXT
字号:
怎样在程序中为datawindow加计算域或line?

答:给个例子:

//以下程序加一计算域sum(dept_id for all)
string ls_modrow
dw_1.Modify("DataWindow.summary.Height=64")
ls_modrow = 'Create compute(band=summary font.charset="0" font.face="MS Sans Serif" font.family="2" font.height="-8" font.pitch="2" font.weight="400" background.mode="1" background.color="536870912" color="0" x="9" y="4" height="52" width="297" format="[general]" expression="sum(dept_id for all)" alignment="1" border="0" crosstab.repeat=no )~r~n'
dw_1.modify( ls_modrow )


//以下程序加一条线
string ls_line
dw_1.Modify("DataWindow.detail.Height=332")
ls_line = 'Create line(band=detail background.mode="2" background.color="16777215" pen.style="0" pen.width="5" pen.color="0" x1="37" y1="320" x2="1458" y2="316" )~r~n'
dw_1.modify( ls_line )


dw_1.settransobject(sqlca)
dw_1.retrieve()

怎样在程序中构造 DropListBox 列表项 



答:如要将数据表Brance中记录name字段插入DDLB:
1.建立一个数据窗口对象,如:DW_Brance
2.在窗口的OPEN中:
long i
datastore lds_0 //说明一个数据存储变量
lds_0=create datastore //创建数据存储实例
lds_0.dataobject="dw_Brance " //将部门编码数据对象赋给数据存储实例
lds_0.settransobject(SQLCA) //设置数据存储使用的事务对象
lds_0.retrieve() //读取数据
row0=lds_0.rowcount()//记录个数

for i=1 to row0
//插入ddlb新记录
ddlb_bm.insertitem(lds_0.object.name[i],i)

next

ddlb_bm.SELECTITEM(1)



//数组循环

li_arraybound = UpperBound(is_visiblecolumns)
For li_index = 1 to li_arraybound
	If is_visiblecolumns[li_index] <> "" then
		ls_dwselectstmt = ls_dwselectstmt + is_visiblecolumns[li_index]
		If li_index <> li_arraybound then
			ls_dwselectstmt = ls_dwselectstmt + ", "
		End If
	End If
next




string sql_select,ls_item
int i=1

dw_1.settransobject(sqlca)
// 将当前文件所有字段加到Dw_1第一列中
sql_select="select col_cname from jkcolumn where db_id="+string(db_id)+" and is_view=1 order by col_id asc"
prepare sqlsa from :sql_select;
DECLARE dyn_cursor DYNAMIC CURSOR FOR sqlsa;
OPEN DYNAMIC dyn_cursor;
do while sqlca.sqlcode=0
	fetch dyn_cursor into :ls_item;
	if sqlca.sqlcode=0 then
		dw_1.setvalue("column_name",i,ls_item)
		if i=1 then initial_item=ls_item
		i++
	end if
loop
close dyn_cursor;
return 1







id_userdw=message.powerobjectparm
if isvalid(id_userdw) then
	li_colcount = integer(ID_USERDW.Object.DataWindow.Column.Count)
	DataWindowChild ldw_child
	dw_1.GetChild('s_field',ldw_child)
	for i=1 to li_colcount
		ls_column_english=trim(ID_USERDW.describe("#"+string(i)+'.name'))
		ls_column_chinese=trim(ID_USERDW.describe(ls_column_english+'_t.text'))
		if isnull(ls_column_chinese) or ls_column_chinese='!' then
			ls_column_chinese=trim(ID_USERDW.describe(ls_column_english+'.tag'))
		end if
		ls_column_visible=ID_USERDW.describe(ls_column_english+'.visible')
	
			ldw_child.insertrow(0)
			ldw_child.setitem(ldw_child.rowcount(),1,ls_column_chinese)
			ldw_child.setitem(ldw_child.rowcount(),2,ls_column_english)
		end if
	next
	ls_dwobject=id_userdw.dataobject+id_userdw.title
	dw_1.settransobject(sqlca)
	for i=1 to 6
		dw_1.insertrow(0)
	next
end if







Choose Case dwo.Name
	Case "filter_logic" 
		//修改:2002-06-10 21:32   增加"and data<>'' ---防止连续多次过滤时自动激活cb_add
		If li_currow =This.RowCount() and data<>'' Then	//最后一行,自动增加新条件
			cb_add.Event clicked()
		End If
String ls_colname,ls_logic
If dw_filter.GetRow()>0 Then
	dw_filter.AcceptText()
	ls_colname=dw_filter.GetItemString(dw_filter.GetRow(),'filter_colname')
	ls_logic=dw_filter.GetItemString(dw_filter.GetRow(),'filter_logic')
	If Len(ls_colname)=0 Or IsNull(ls_colname) Or Len(ls_logic)=0 Or IsNull(ls_logic) Then
		MessageBox('系统提示','请完全输入当前查询条件的值')
		dw_filter.SetFocus()
		Return
	End If
End If
dw_filter.InsertRow(0)
dw_filter.ScrollToRow(dw_filter.RowCount())
dw_filter.SetColumn("filter_colname")
dw_filter.SetFocus()













⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -