当前位置:文档之家› PB代码

PB代码

PB代码
PB代码

01 通信录管理系统录入界面设计

【窗口代码】

dw_1.setTransObject(sqlca)

dw_1.retrieve()

【按钮代码】

l “添加”按钮代码

dw_1.reset()

dw_1.insertRow(0)

l “删除”按钮代码

dw_1.deleteRow(0)

l “保存”按钮代码

if dw_1.update()=1 then

commit;

else

rollback;

end if

l “刷新”按钮代码

dw_1.retrieve()

l “返回”按钮代码

close(parent)

【应用代码】

SQLCA.DBMS = "ODBC"

SQLCA.DBParm = "Connectstring='DSN=addressbook;UID=dba;PWD=sql'" Connect;

open(w_input)

02 通信录管理系统字段格式修改菜单设计

【导航按钮代码】

“第一位”按钮中的代码:dw_1.scrollToRow(1)

“前一位”按钮中的代码:dw_1.scrollPriorRow()

“后一位”按钮中的代码:dw_1.scrollNextRow()

“最后位”按钮中的代码:dw_1.scrollToRow(dw_1.rowCount()) 【当前的记录和总记录代码】

“第X位(共X位)”

"第"+getRow()+"位(共"+rowCount()+" 位)"

03 通信录管理系统查询设计(一)

【Filter函数“精确查询”按钮代码】

Dw_1.setFilter("编号='"+sle_1.text+"'")

Dw_1.filter()

【Filter函数“模糊查询”按钮代码】

Dw_1.setFilter("编号like '%"+sle_1.text+"%'")

Dw_1.filter()

【Retrieve函数窗口代码】

Dw_1.setTransObject(sqlca)

【Retrieve函数“精确查询”按钮代码】

Dw_1.retrieve(sle_1.text)

【Retrieve函数“模糊查询”按钮代码】

Dw_1.retrieve("%"+sle_1.text+"%")

【Retrieve函数“生日精确查询”按钮代码】

Dw_1.retrieve(date(sle_1.text))

【Retrieve函数“编号范围查询”按钮代码】

Dw_1.retrieve(sle_1.text,sle_2.text)

04 通信录管理系统查询设计(二)

【Retrieve函数“生日范围查询”按钮代码】

Dw_1.retrieve(date(sle_1.text),date(sle_2.text))

【函数keydown(KeyEnter!)应用代码】

if keydown(KeyEnter!) then

cb_1.TriggerEvent(clicked!)

End if

【函数messageBox()应用代码】

if sle_1.text="" then

messageBox("信息提示","请输入要查询的内容!!!")

return

else

if dw_1.retrieve(sle_1.text)=0 then

messageBox("信息提示","没有查到内容!")

end if

end if

05 通信录管理系统查询设计(三)

【Filter函数“编号范围查询”按钮代码】

Dw_1.setFilter("编号>='"+sle_1.text+"' and 编号<='"+sle_2.text+"'") Dw_1.filter()

【Filter函数“编号范围查询”窗口代码】

Dw_1.setTransObject(sqlca)

Dw_1.retrieve()

【“工资税计算”按钮中的代码】

if real(sle_1.text)>1600 then

sle_2.text=string((real(sle_1.text) - 1600)*0.2) else

sle_2.text="0"

end if

【“成绩分类”按钮中的代码】

Integer s

s=integer(sle_1.text)

IF s>100 or s<0 then

messageBox("信息提示","成绩错误!!")

Elseif s>=90 then

sle_2.text="优秀"

Elseif s>=80 then

sle_2.text="良好"

Elseif s>=70 then

sle_2.text="中等"

Elseif s>=60 then

sle_2.text="及格"

else

sle_2.text="不及格"

End if

【任意字段查询窗口代码】

Dw_1.setTransObject(sqlca)

lb_1.selectItem("编号",0)

【任意字段查询窗口代码“查询”按钮代码】

string s_old,s_new,s_where

s_old=dw_1.GetSQLSelect()

If ddlb_1.text="like" then

s_where=" WHERE "+lb_1.SelectedItem()+' '+ddlb_1.text+"+&

'%"+sle_1.text+"%'; "

Else

s_where=" WHERE "+lb_1.SelectedItem()+' '+ddlb_1.text+" '"+sle_1.text+"'; " End if

s_new=s_old+s_where

if dw_1.SetSqlSelect(s_new)=-1 then

beep(3)

messageBox("信息提示","条件窗口条件设置有误,请仔细检查!",StopSign!) else

dw_1.setTransObject(sqlca)

dw_1.retrieve()

dw_1.SetSqlSelect(s_old)

end if

【多关系组合查询“增加条件”按钮代码】

(2)“增加条件”按钮代码

if sle_1.text="" then

messageBox("信息提示","没有查询条件的值,请仔细检查!")

return;

end if

if trim(mle_1.text)<> "" then

if ddlb_1.text="like" then

mle_1.text= mle_1.text+" and "+lb_1.SelectedItem()+' '+ddlb_1.text+" '%"+& sle_1.text+"%' "

else

mle_1.text= mle_1.text+" and "+lb_1.SelectedItem()+' '+ddlb_1.text+" '"+& sle_1.text+"' "

end if

else

if ddlb_1.text="like" then

mle_1.text= mle_1.text+' '+lb_1.SelectedItem()+' '+ddlb_1.text+" '%"+&

sle_1.text+"%' "

else

mle_1.text= mle_1.text+' '+lb_1.SelectedItem()+' '+ddlb_1.text+"+&

'"+sle_1.text+"' "

end if

end if

sle_1.text=""

【多关系组合查询“查询”按钮代码】

string s_old,s_new

if trim(mle_1.text)= '' then

messageBox("信息提示","缺少查询条件!")

return

end if

s_old=dw_1.GetSQLSelect()

s_new=mle_1.text

s_new=s_old+" where "+s_new+";"

if dw_1.SetSqlSelect(s_new)=-1 then

beep(3)

messageBox("信息提示","条件窗口条件设置有误,请仔细检查!",StopSign!) else

dw_1.setTransObject(sqlca)

dw_1.retrieve()

dw_1.SetSqlSelect(s_old)

end if

【多关系组合查询“清空”按钮代码】

mle_1.text=""

06-通信录管理系统报表设计(一)

【窗口代码】

dw_1.setTransObject(sqlca)

dw_1.retrieve()

【“另存为.txt文件...”按钮代码】

dw_1.saveas("",text!,false)

【“从.txt文件中读数据...”按钮代码】

int value

string docname,named

value = GetFileOpenName("请选中一个文件名:", docname, named, "Doc", & + "Text Files (*.TXT),*.TXT") //读数据文件

if value=1 then

delete from addressbook; //清空addressbook表中的数据

dw_1.ImportFile(docname) //导入文件数据

else

return

end if

if dw_1.update()=1 then //将文件数据传入数据表中

commit;

else

rollback;

end if

【“页码”代码】

"第" + page() + " 页(共" + pageCount()+" 页)"

【“退出”按钮代码】

Close(parent)

【“打印机设置”按钮代码】

printSetup()

【“打印预览”按钮代码】

if cb_2.text="打印预览" then

dw_1.Object.datawindow.print.preview='Yes'

cb_2.text="关闭预览"

else

dw_1.Object.datawindow.print.preview='No'

cb_2.text="打印预览"

end if

【“打印”按钮代码】

dw_1.print()

07-通信录管理系统报表设计(二)

【单选按钮集成报表窗口代码】

dw_1.setTransObject(sqlca)

dw_1.retrieve()

【单选按钮集成报表窗口中按钮代码】

“打印机设置”按钮中的代码为:printSetup()

“打印预览”按钮中的代码为:

if cb_2.text="打印预览" then

dw_1.Object.datawindow.print.preview='Yes'

cb_2.text="关闭预览"

else

dw_1.Object.datawindow.print.preview='No'

cb_2.text="打印预览"

end if

“打印”按钮中的代码为:dw_1.print()

“退出”按钮中的代码为:close(parent)

【“RadioButton”控件中代码】

dw_1.DataObject="d_report_crosstab" //数据窗口对象要修改dw_1.setTransObject(sqlca)

dw_1.retrieve()

【选项卡集成报表窗口代码】

tab_1.tabPage_1.dw_1.setTransobject(sqlca)

tab_1.tabPage_2.dw_2.setTransobject(sqlca)

tab_1.tabPage_3.dw_3.setTransobject(sqlca)

tab_1.tabPage_4.dw_4.setTransobject(sqlca)

tab_1.tabPage_5.dw_5.setTransobject(sqlca)

tab_1.tabPage_6.dw_6.setTransobject(sqlca)

tab_1.tabPage_7.dw_7.setTransobject(sqlca)

tab_1.tabPage_1.dw_1.retrieve()

tab_1.tabPage_2.dw_2.retrieve()

tab_1.tabPage_3.dw_3.retrieve()

tab_1.tabPage_4.dw_4.retrieve()

tab_1.tabPage_5.dw_5.retrieve()

tab_1.tabPage_6.dw_6.retrieve()

tab_1.tabPage_7.dw_7.retrieve()

【选项卡集成报表窗口按钮代码】

所有标签页共用

“打印机设置”按钮中的代码为:printSetup()

“退出”按钮中的代码为:close(parent)

各个标签页“TabPage_1-7”专用的

注意按钮名称和数据窗口名称的修改

“打印预览”按钮中的代码为:

if cb_2.text="打印预览" then

dw_1.Object.datawindow.print.preview='Yes'

cb_2.text="关闭预览"

else

dw_1.Object.datawindow.print.preview='No'

cb_2.text="打印预览"

end if

“打印”按钮中的代码为:dw_1.print()

08 工具栏、主界面修饰;系统登录界面、可执行文件生成

【主界面图片定时改变代码】

双击主界面窗口空白处,在“open”事件中输入下面代码:

randomize(0) //初始化随机序列函数

p_p="f"+string(rand(20))+ ".jpg" //rand(n)获取1和n之间的一个随机整数

p_1.pictureName=p_p

timer(3) //以指定的时间间隔(3秒钟)重复触发定时器事件中的代码

单击“open() returns long [pbm_open]”下拉列表框,选择“timer() returns long [pbm_timer]”,并在下面空白处输入下面代码:

p_p="f"+string(rand(20))+ ".jpg"

p_1.pictureName=p_p

【简单系统登录界面代码】

如果用户名为“SIFT”,密码为“A123”,则只要在pb_1按钮的“Clicked”事件中编写如下代码即可。

if upper(trim(sle_1.text))= "SIFT" and upper(trim(sle_2.text))= "A123" then

open(w_main)

else

messageBox("警告","用户或口令不对")

end if

close(w_logon)

注:upper( )函数是把字母变为大写字母,trim( )函数是去掉字符两边的空字符,messageBox()是信息提示函数。

【有密码表系统登录界面代码】

在pb_1按钮的“Clicked”事件中编写如下代码

string s_password

If trim(sle_1.text)= "" or trim(sle_2.text)= "" then messageBox("信息提示","用户名或密码不能为空!") return

End if

select 密码

into :s_password

from password

where 用户名=:sle_1.text;

if sle_2.text=s_password then

open(w_main)

else

messageBox("警告","用户或口令不对")

end if

close(w_logon)

pb数据窗口常用代码

一、连接数据库 连接数据库也就是指定事务对象。PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。 语法格式: dw_control.SetTrans(TransactionObject) dw_control.SetTransObject(TransactionObject) 其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。 这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。用户只需要在这里填充一个事务对象,PB 就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。 这两个函数都是成功时返回1,发生错误时返回-1。 二、检索数据 用于检索数据的函数只有一个,就是Retrieve()函数。 语法格式: dw_control.Retrieve() 如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。 此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。 三、更新数据 当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。 语法格式: dw_control.Update() 这个更新可能成功,也可能失败。一般在这个函数被调用之后,总是要做一个检查。请看下面的例子: Int li_return

基于jsp设计的人事管理系统(含源文件)

JSP课程设计 第1章课程设计目的与要求 (1) 1.1 课程设计目的 (1) 1.2 课程设计的实验环境 (1) 1.3 课程设计的预备知识 (1) 1.4 课程设计要求 (1) 第2章课程设计内容 (2) 2.1 系统设计 (2) 2.2 数据库模型 (3) 2.3 模块与功能设计 (4) 2.4 模块主要代码 (7) 第3章课程设计总结 (16) 参考文献 (17)

第1章课程设计目的与要求 1.1 课程设计目的 本课程的课程设计实际是网络技术专业学生学习完《JSP语言程序设计》课程后,进行的一次全面的综合训练,其目的在于加深对JSP语言程序设计的基础理论和基本知识的理解,掌握运用JSP动态网页编程技术开发应用程序的基本方法。 1.2 课程设计的实验环境 硬件要求:能运行Windows 9.X操作系统的微机系统。 软件要求:JDK、tomcat6.0、SQL Server 2000。 1.3 课程设计的预备知识 熟悉JSP语言程序设计的基本知识及应用开发的编程思想。 1.4 课程设计要求 按课程设计指导书提供的课题,应根据下一节给出的基本需求独立完成各个方面的设计,标有“可选”的部分可根据设计时间的安排及工作量的大小适当选择。选用其他课题或不同的数据库系统,可以组成设计小组,分模块进行,共同协作完成一个课题的开发任务。要求书写详细的设计说明书,对复杂的代码段和程序段,应画出程序流程图。在界面设计中,设计好每个窗口的布局,有多个窗口时,按模块调用的方式画出窗口调用图,用手工画好报表和标签样式,严禁相互抄袭。

第2章课程设计内容 2.1系统功能分析 2.1.1 系统功能分析 人事管理是企业管理的重要内容,如何管理好一个企业内部员工的信息,成为企业管理中的一个大的问题。此时,一个规范、自动的人事管理系统的使用显得尤为重要。根据人事管理的实际要求,结合人事信息管理的实际流程,“人事管理系统”可以满足以下要求: 1.能够掌握企业员工的基本信息,其中包括编号、姓名、性别、籍贯、民族、出生年月、政治面貌、专业、学历、家庭住址、婚姻状况、电话、身份证号等信息,除此之外还可以掌握每个员工的工作信息、调动信息、培训信息、奖惩信息等相关信息。 2.管理人员能够对本系统做相应的管理工作,可以对员工信息进行变动管理,如进行数据添加、查找和修改等操作。而浏览者只可以查看其相应的内容,不可以进行其他操作。 2.1.2 系统功能模块设计 由于人事管理系统主要面向的是小型企业的日常工作,所以设置的模块尽可能的满足企业的日常办公即可,其中设计的功能模块如图2.1所示。 图2.1 功能模块图

PB动态数据窗口

[PB]-动态数据窗口 〓创建动态数据窗口 若要动态创建数据窗口,需要使用函数Create,该函数的语法如下: dw_1.Create(syntax{,errorbuffer}) 其中,dw_1是数据窗口控件的名称,该数据窗口控件要和新创建的数据窗口对象相关联。syntax是用来描述创建数据窗口对象的确切语法的字符串。errorburrer是可选项,用来保存创建数据窗口对象过程中发生的错误信息。如果不指定该参数,就会在发生错误时显示一个错误信息的提示窗口。如果创建成功该函数返回1,否则返回-1,如果参数为null则函数返回null。 由于Create函数成功创建数据窗口对象后,要改变dw_1数据窗口控件所关联的数据窗口对象,因此,需要重新为数据窗口设置事务对象(使用函数SetTransObject或者SetTrans)。 获取创建数据窗口的语法有多种方法,可以对相关的SQL语句使用SyntaxFromSQL函数,也可以使用对已经创建好的数据窗口对象使用LibraryExport函数。因为创建数据窗口的语法比较复杂,即使使用了LibraryExport输出已有数据窗口对象的语法,操作起来也相当费劲。所以,更为通用的是前面一种方法。这种方法配合一定的编程技巧,让用户指定要创建的数据窗口对象的SQL语句,使用户有更多的自由和选择。使用这种方法,肯定用到函数 SyntaxFromSQL,它的语法是: transaction.SyntaxFromSQL(SQLselect,presetation,err) 其中,transaction是事务对象的名称,该事务对象必须正确地设置了相关参数,并且和数据库建立了联结。SQLselect是用来创建数据窗口的SQL语句,为String 类型。presentation是要创建的数据窗口对象的显示风格,为String类型。简单的格式是: Style(Type=presentationstyle) 其中Style和Type都是保留字,presentationstyle的取值有Tabular,Grid,Form,Graph,Group,Label和Nup,其中Tabular是缺省类型。err是用来保存函数执行时出错信息的string类型的变量。 *关于函数SyntaxFromSQL的参数presentation可以有更复杂的语法。其格式是:"Style ( Type=value property=value ... ) DataWindow ( property=value ... ) Column ( property=value ... ) Group groupby_colnum1 Fby_colnum2 ... property ... ) Text property=value ... ) Title ( 'titlestring' )" 使用这样的格式,可以详细定义要创建的数据窗口对象的外观。 〓在很多情况下都需要一个数据窗口控件和不同的数据窗口对象关联。可以通过修改数据窗口控件的dataobject属性来实现。在修改了这一特性之后,数据窗口控件就不再具有与它相关的事务处理对象了,应该再重新为数据窗口设置事务

人事管理系统源代码

#include #include #include #define N 100 struct member_info { char xm[7]; char xb[3]; char sr[15]; char whcd[13]; char zc[17]; char sfzh[19]; char lxdh[12]; int gl; int nl; }; struct member_info member[N+1]; int CurrentCount=0; void input() { char sfjx=1; while(sfjx!=0) { if(CurrentCount==N) { printf("\n人数已达上限,不能添加!!!\n"); sfjx=0; } else { CurrentCount++; printf("\n请输入员工信息(姓名性别生日年龄文化程度联系电话身份证号码工龄职称):\n"); scanf("%s%s%s%d%s%s%s%d%s",member[CurrentCount].xm,member[CurrentCount].xb,memb er[CurrentCount].sr,&member[CurrentCount].nl,member[CurrentCount].whcd,member[CurrentC ount].lxdh,member[CurrentCount].sfzh,&member[CurrentCount].gl,member[CurrentCount].zc); printf("\n是否继续(0--结束,其它--继续):"); scanf("%d",&sfjx); } } printf("人员已排序"); int i,j; for(i=1;i

pb中数据窗口函数总结

pb中数据窗口函数总结 一、连接数据库 连接数据库也就是指定事务对象。PowerBuilder提供了两个函数:SetTrans()和SetTransObject()。 语法格式: dw_control.SetTrans(TransactionObject) dw_control.SetTransObject(TransactionObject) 其中,dw_control是所使用的数据窗口控件,transactionObject是所要指定的事务对象。 这两个函数有一个重要的区别就是在使用SetTrans()函数时,用户不需做任何数据初始化或事务对象初始化工作。用户只需要在这里填充一个事务对象,PB就会自动完成对该事物对象的初始化以及和数据库连接的工作。而使用SetTransObject()函数时,用户必须首先把所用的事务对象连接到数据库上。但是,这并不意味着SetTrans()函数比SetTransObject()函数更好,使用SetTrans()函数时,每调用一次函数必须连接一次数据库,因为这个函数在每个事务处理的末端都会执行Disconnect语句。与此相反,使用SetTransObject()函数可以为数据库维持一个开放性的连接。因此在一般情况下,为了提高效率,总是采用SetTransObject()函数。 这两个函数都是成功时返回1,发生错误时返回-1。 二、检索数据 用于检索数据的函数只有一个,就是Retrieve()函数。 语法格式: dw_control.Retrieve() 如果数据窗口控件上的数据窗口对象是有检索参数的,就要在这个函数调用时加上检索参数。而且检索参数必须和数据窗口对象中定义顺序一致。 此函数返回一个长整型的数据,代表检索出来的数据行数。如果发生错误,将返回-1。 三、更新数据 当用户对数据窗口对象内的数据修改后,想把这些修改反映到数据库中去时,必须使用Update()函数。 语法格式: dw_control.Update() 这个更新可能成功,也可能失败。一般在这个函数被调用之后,总是要做一个检查。请看下面的例子: Int li_return li_return = dw_1.Update() IF li_return = 1 THEN

PB中下拉数据窗口带参数应用

PB中下拉数据窗口带参数应用 在数据输入时,当用到下拉列表时,会发现有些数据是和别的数据相关的,这时我们会希望过滤掉那些不相关的数据。例如生成一个入库单,某种物料有多个供应商,我们要根据物料来过滤掉和这个物料不相关的供应商,这样会加快检索和输入的速度。 入库单表:billrec

1.以supply表,制作一个带参数的数据窗口,命名为d_supply_replace_list,参数列为item_id,字符型,隐藏物料代码列。 2.以billrec表,制作一个数据窗口,命名为billrec_maintain,将supply_id列的edit属性中的style type选定为DropDownDW,datawindow为d_supply_replace_list。 在窗口中放置数据窗口控件dw_1,将其与billrec_maintain数据窗口关联。 在窗口中定义实例变量datawindowchild idwc_child。 3.在dw_1的constructor事件中编写以下脚本: this.getchild("supply_id",idwc_child) //生成子数据窗口,supply_id为下拉列表列idwc_child.insertrow(0) idwc_child.settransobject(SQLCA) this.of_settransobject(SQLCA) this.insertrow(0) 4.在dw_1的itemchanged事件中编写以下脚本: long ll_getcolumn ll_getcolumn = this.getcolumn() //获得当前列 choose case ll_getcolumn case 7 //假设item_id列是第7列 dw_1.accepttext() is_id = dw_1.getitemstring(row,7) //获得物料代码 idwc_child.retrieve(is_id) //检索替代供应商 end choose 这样在输入不同的物料时,会像下图那样,只列出相关的供应商。

人事管理系统(课程设计)源码

急需一个公司的人事管理系统源代码(vc++编程) 悬赏分:100 |解决时间:2008-1-8 09:58 |提问者:klak1 某小型公司,主要有两类人员:经理、员工。现在,需要存储这些人员的姓名、编号、身份证号码、业绩、级别(经理包括总经理、经理、副经理级别,员工包括高级员工、普通员工和临时工级别)、家庭住址、开始工作日期、所在部门、薪水等信息,并可以对这些信息进行检索。 要求: 1)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1; 2)根据业绩的大小具有自动升降级别的功能; 3)输入员工身份证号码号码后自动获取员工生日; 4)输入员工开始工作日期后自动获取员工工龄; 5)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息 最佳答案 #include #include #include #include const int Maxr=100; class Employee //职工类 { int tag;//删除标记 int no;//职工编号 char name[20]; char zw[20];//职工姓名 int salary;//职工工资 public: Employee(){} char *getname() {return name;}//获取名字 int gettag() {return tag;}//获取标记 int getno() {return no;}//获取编号 int getsalary(){return salary;} void setzw(char q[])//设置名字 { strcpy(zw,q); } void setname(char na[])//设置名字 { strcpy(name,na); } void getsalary(int sa){salary=sa;} void delna(){tag=1;}//删除

pb数据窗口技巧38个 收藏

pb数据窗口技巧38个收藏 1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下:将每一列的Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在PowerScript 中可以动态修改Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。 2 如何在DataWindow中实现列的自动折行 我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇 到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起 来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自 动折行.具体步骤如下: 1) 在DataWindow Painter中打开此DataWindow. 2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口. 3) 选择Position标签, 选中Autosize Height 多选框. 4) 选择Edit标签, 不选中Auto Horz Scroll多选框. 5) 单击OK按钮, 保存所做的修改. 6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择 Properties... 菜单项. 7) 选中Autosize Height多选框. 8) 单击OK按钮, 保存所做的修改.

PB 数据窗口高级( DataWindow)应用37个技巧

PB 数据窗口高级( DataWindow) 37个技巧 1. 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改,利用Column 的Protect 属性可以很方便的做到这一点,方法如下: 将每一列的Protect 属性设置为: If( IsRowNew(), 0, 1) ) 在PowerScript 中可以动态修改Protect 属性: dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'") 这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。 2 .如何在DataWindow中实现列的自动折行 我们在PowerBuilder应用程序的开发过程中, 使用DataWindow时, 经常会遇 到某列的数据太长, 不能同时全部显示的情况. 若采用自动水平滚动, 操作起 来又不够简便. 下面介绍一种方法, 实现列数据多行显示, 即实现列数据的自 动折行.具体步骤如下: 1) 在DataWindow Painter中打开此DataWindow.

2) 在需设定自动折行的列上双击鼠标, 弹开此列的属性窗口. 3) 选择Position标签, 选中Autosize Height 多选框. 4) 选择Edit标签, 不选中Auto Horz Scroll多选框. 5) 单击OK按钮, 保存所做的修改. 6) 点中Detail Band (即写有Detail的灰色长带), 单击鼠标右键, 选择Properties... 菜单项. 7) 选中Autosize Height多选框. 8) 单击OK按钮, 保存所做的修改. 9) 保存此DataWindow. 注意: 连在一起的汉字(中间没有标点或空格分隔), 系统将认为是一个单词, 不 会自动进行折行. 3. 在数据窗口中实现动画 要实现动画,必须要有定时器,在数据窗口中已经有了一个定时器,双击数据窗口将弹出的对话框,在Timer Interval中定义大于零的值就有定时器(可以精确到毫秒),有了这个定时器就可以实现动画了。比如要改变某字段的背景颜色,可设 ackgound.color=RGB(Integer(Right(string(now(),'hhmmssf'),1))*256/10,In teger(Right(string(now(),'hhmmssf'),1))*256/10,0) 当然,您不仅可以改变背景颜色,而且可以改变字体等等任何属

人事管理系统代码

package rsgl; import java.awt.* import java.awt.event.*; import java.sql.*; import java.util.*; import javax.swing.*; import javax.swing.border.*; public class A extends JFrame { protected JPanel p = new JPanel(); protected JPanel p1 = new JPanel(); protected JPanel p2 = new JPanel(); protected JPanel p3= new JPanel(); JMenuBar M =new JMenuBar(); JMenu m1 = new JMenu("基本信息模块"); JMenu m2 = new JMenu("考勤考评信息模块"); JMenu m3 = new JMenu("系统维护信息模块"); JMenuItem mm1 = new JMenuItem("员工基本信息"); JMenuItem mm2 = new JMenuItem("员工家庭成员基本信息"); JMenuItem mm3 = new JMenuItem("员工培训信息"); JMenuItem mm4 = new JMenuItem("员工考勤信息"); JMenuItem mm5 = new JMenuItem("员工考评信息"); JMenuItem mm6 = new JMenuItem("普通管理员"); JMenuItem mm7 = new JMenuItem("高级管理员"); JMenuItem mm8 = new JMenuItem("退出"); protected JLabel l1 = new JLabel("员工编号:"); protected JLabel l2 = new JLabel("姓名:"); protected JLabel l3 = new JLabel("性别:"); protected JLabel l4 = new JLabel("年龄:"); protected JLabel l5 = new JLabel("部门:"); protected JTextField t1 = new JTextField(10); protected JTextField t2 = new JTextField(10); protected JTextField t3 = new JTextField(10); protected JTextField t4 = new JTextField(10); protected JTextField t5 = new JTextField(10); private JButton b1 = new JButton("查询"); private JButton b2 = new JButton("插入"); private JButton b3 = new JButton("修改"); private JButton b4 = new JButton("删除"); private JButton b5 = new JButton("清除"); private JButton b6 = new JButton("下一条"); private Connection c; // @jve:decl-index=0: private Statement s; // @jve:decl-index=0: private ResultSet r; // @jve:decl-index=0: public A() { super("人事管理系统"); getContentPane().add(p); setJMenuBar(M);M.add(m1);M.add(m2);M.add(m3);m1.add(mm1); m1.add(mm2);m1.add(mm3);m1.addSeparator();m1.add(mm8);m2.add(mm4); m2.add(mm5);m3.add(mm6);m3.add(mm7); p.add(p1,BorderLayout.NORTH); p.add(p2,BorderLayout.CENTER); p.add(p3,BorderLayout.SOUTH); p1.setLayout(new GridLayout(5,2,1,3)); p1.add(l1);p1.add(t1); p1.add(l2);p1.add(t2); p1.add(l3);p1.add(t3); p1.add(l4);p1.add(t4); p1.add(l5);p1.add(t5); p2.add(b1);p1.add(b2); p2.add(b3);p1.add(b4); p2.add(b5);p3.add(b6); t1.setText("");t2.setText("");t3.setText("");t4.setText("");t5.setText(""); setSize(350,300);setVisible(true); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDrive"); c=DriverManager.getConnection("jdbc:odbc:sd","sa",null); s=c.createStatement(); r=s.executeQuery("select * from 员工基本信息表"); } catch (SQLException e){ JOptionPane.showMessageDialog(null ,e.getMessage(),"操作错误!",JOptionPane.ERROR_MESSAGE); System.exit(1); } catch(ClassNotFoundException e) { JOptionPane.showMessageDialog(null ,e.getMessage(),"驱动程序找不到!",JOptionPane.ERROR_MESSAGE); System.exit(1); } addWindowListener( new WindowAdapter(){ public void windowClosing(WindowEvent event) { try { s.close();c.close(); } catch(SQLException e) { JOptionPane.showMessageDialog(null,e.getMessage(),"不能关闭!",JOptionPane.ERROR_MESSAGE); System.exit(1); } } }); b1.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent event) { try{ r=s.executeQuery("select *

PB数据窗口使用绝对技巧与方法

原文地址:PB数据窗口绝对技巧作者:千人急 1、如何让存储文件目录的列,显示图片? 答:选择对应的column的display as picture属性为true 2、如何复制grid类型的所选择的行的数据到系统剪切板? 答:string ls_selected ls_selected=dw_1.Object.DataWindow.Selected.Data clipbord(ls_selected) 4、如何设置的DW底色? 在DW的editsource中改变color的值 5、如何将Grid风格改成自由格式? 在DW的editsource中将processing=1的1改为0 6、要新建一个表A但风格和现有表格B风格一样,怎么将A表快速设置成表B 风格? 复制B表C,在C表的DW中的editsource中将表名和字段名改成A表的,即可 7、如何实现gird风格的datawindow的多栏表头? 答:添加 text到header带区,并设置band属性为foreground保存,edit source 修改text的x和width属性表达式如下: x="100~t integer(describe('firstcol.x')" width="100~tinteger(describe('lastcol.x')) - integer(describe('firstcol.x')) +integer(describe('lastcol.width')) 8、如何过滤dddw编辑风格的显示值为指定值的记录? 答: dw_1.setfilter("lookupdisplay('column_name')='"+ls_display_value_your +"'") dw_1.filter() 9、如何设置datawindow的某一列为空?

asp 课程设计源代码-人事管理系统

附录:源程序代码 1).default.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default2" %> 无标题页

PB得到首拼音码函数无错码

//得到首拼音码函数 //把这段代码加入到函数地f_get_py(string as_InputString) char lc_FirstLetter[23] string ls_ch string ls_SecondSecTable string ls_ReturnStr integer li_SecPosValue[23] integer i , j integer li_SectorCode integer li_PositionCode integer li_SecPosCode integer li_offset //Set initial value li_SecPosValue[]={1601,1637,1833,2078,2274,2302,2433,2594,2787,3106,3212,3472,3635,3722,3 730,3858,4027,4086,4390,4558,4684,4925,5249 } lc_FirstLetter[] = { "A ", "B ", "C ", "D ", "E ", "F ", "G ", "H ", "J ", "K ", "L ", "M ", "N ", "O ", "P ", "Q ", "R ", "S ", "T ", "W ", "X ", "Y ", "Z "} ls_SecondSecTable= "CJWGNSPGCGNE[Y[BTYYZDXYKYGT[JNNJQMBSGZSCYJSYY[PGKBZGY[YWJKGKLJYWKPJQHY[W[DZL SGMRYPYWWCCKZNKYYGTTNJJNYKKZYTCJNMCYLQLYPYQFQRPZSLWBTGKJFYXJWZLTBNCXJJJJTXD TTSQZYCDXXHGCK[PHFFSS[YBGXLPPBYLL[HLXS[ZM[JHSOJNGHDZQYKLGJHSGQZHXQGKEZZWYSCS CJXYEYXADZPMDSSMZJZQJYZC[J[WQJBYZPXGZNZCPWHKXHQKMWFBPBYDTJZZKQHYLYGXFPTYJYY ZPSZLFCHMQSHGMXXSXJ[[DCSBBQBEFSJYHXWGZKPYLQBGLDLCCTNMAYDDKSSNGYCSGXLYZAYBN PTSDKDYLHGYMYLCXPY[JNDQJWXQXFYYFJLEJPZRXCCQWQQSBNKYMGPLBMJRQCFLNYMYQMSQY RBCJTHZTQFRXQHXMJJCJLXQGJMSHZKBSWYEMYLTXFSYDSWLYCJQXSJNQBSCTYHBFTDCYZDJWYG HQFRXWCKQKXEBPTLPXJZSRMEBWHJLBJSLYYSMDXLCLQKXLHXJRZJMFQHXHWYWSBHTRXXGLHQ HFNM[YKLDYXZPYLGG[MTCFPAJJZYLJTYANJGBJPLQGDZYQYAXBKYSECJSZNSLYZHSXLZCGHPXZHZNY TDSBCJKDLZAYFMYDLEBBGQYZKXGLDNDNYSKJSHDLYXBCGHXYPKDJMMZNGMMCLGWZSZXZJFZN MLZZTHCSYDBDLLSCDDNLKJYKJSYCJLKWHQASDKNHCSGANHDAASHTCPLCPQYBSDMPJLPZJOQLCD HJJYSPRCHN[NNLHLYYQYHWZPTCZGWWMZFFJQQQQYXACLBHKDJXDGMMYDJXZLLSYGXGKJRYWZ WYCLZMSSJZLDBYD[FCXYHLXCHYZJQ[[QAGMNYXPFRKSSBJLYXYSYGLNSCMHZWWMNZJJLXXHCHS Y[[TTXRYCYXBYHCSMXJSZNPWGPXXTAYBGAJCXLY[DCCWZOCWKCCSBNHCPDYZNFCYYTYCKXKYBS QKKYTQQXFCWCHCYKELZQBSQYJQCCLMTHSYWHMKTLKJLYCXWHEQQHTQH[PQ[QSCFYMNDMGB WHWLGSLLYSDLMLXPTHMJHWLJZYHZJXHTXJLHXRSWLWZJCBXMHZQXSDZPMGFCSGLSXYMJSHXPJ XWMYQKSMYPLRTHBXFTPMHYXLCHLHLZYLXGSSSSTCLSLDCLRPBHZHXYYFHB[GDMYCNQQWLQHJJ [YWJZYEJJDHPBLQXTQKWHLCHQXAGTLXLJXMSL[HTZKZJECXJCJNMFBY[SFYWYBJZGNYSDZSQYRSLJ PCLPWXSDWEJBJCBCNAYTWGMPAPCLYQPCLZXSBNMSGGFNZJJBZSFZYNDXHPLQKZCZWALSBCCJX[ YZGWKYPSGXFZFCDKHJGXDLQFSGDSLQWZKXTMHSBGZMJZRGLYJBPMLMSXLZJQQHZYJCZYDJWB MYKLDDPMJEGXYHYLXHLQYQHKYCWCJMYYXNATJHYCCXZPCQLBZWWYTWBQCMLPMYRJCCCXFPZ NZZLJPLXXYZTZLGDLDCKLYRZZGQTGJHHGJLJAXFGFJZSLCFDQZLCLGJDJCSNZLLJPJQDCCLCJXMYZFTS XGCGSBRZXJQQCTZHGYQTJQQLZXJYLYLBCYAMCSTYLPDJBYREGKLZYZHLYSZQLZNWCZCLLWJQJJJKD GJZOLBBZPPGLGHTGZXYGHZMYCNQSYCYHBHGXKAMTXYXNBSKYZZGJZLQJDFCJXDYGJQJJPMGWG JJJPKQSBGBMMCJSSCLPQPDXCDYYKY[CJDDYYGYWRHJRTGZNYQLDKLJSZZGZQZJGDYKSHPZMTLCP

人事管理系统VB源代码-VB毕业设计

附录: 毕业设计程序清单设计题目人事管理系统 教学班: 学生姓名: 学号: 指导教师: 完成日期:

Option Explicit Di米Bupdata As Boolean Di米i As Integer Private Sub 厘米bdegree_Click() If 厘米bdegree.Text = "定制" Then Fr米Table.Show 厘米bdegree.ListIndex = 0 End If End Sub Private Sub 厘米bdepart_Click() If 厘米bdepart.Text = "定制" Then Fr米Table.Show 厘米bdepart.ListIndex = 0 End If End Sub Private Sub 厘米dAddNew_Click() If 厘米dAddNew.Caption = "添加" Then 厘米dAddNew.Caption = "确认" 厘米dDel.Enabled = False 厘米dOK.Enabled = False DataA.ReadOnly = False For i = 1 To 12 If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0 Next i DataA.Recordset.AddNew Txt(0).Locked = False If Fr米米ain.cutable = "e米ployee" Then DataA.Recordset.Fields(13) = fr米Login.E米ploID DataA.Recordset.Fields(14) = Now If Opsex(0) Then DataA.Recordset.Fields(4) = "男" Else

文本预览