我要在DataWindow中动态的加入一个字段,当然这个字段数据库中已有!请问有什么办法?

swtony 2003-06-21 01:06:30
除了用DataWindow的语法导出导入外还有什么简便的方法!因为导出导入太麻烦了!我还得一个个去找去判断!
...全文
49 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
swtony 2003-06-24
  • 打赏
  • 举报
回复
thinkinger:不好意思!我已经根据你的方法做了!可是还是不行!
不知道你有没有类似的原代码!
molder 2003-06-21
  • 打赏
  • 举报
回复
如果要增加的列是外部数据源,怎么办???????
qixin000 2003-06-21
  • 打赏
  • 举报
回复
用动态创建数据窗口的方法,将数据窗口的源代码作为一个大的字符串,将要插入的列的语法字符串插入其中,然后在动态的根据该字符串创建数据窗口;
大雄之家 2003-06-21
  • 打赏
  • 举报
回复
比如你要加入列“课程表.课程”:
1:用ls_sq1 = dwobject.getsqlselect()函数得到此数据窗口对象的数据源语句;

2:在ls_sql语句中插入列,构建新的SELECT语句:
string ls_temp

ls_sql = mid(ls_sql, 1, pos(ls_sql, "from", 1) - 1) + “课程表.课程” + &
mid(ls_sql, pos(ls_sql, "from", 1) - 1, len(ls_sql) - &
pos(ls_sql, "from", 1))

3:用dwobject.setsqlselect( ls_sql )函数把新的数据源给数据窗口;

4:用modify()函数加create column语句把你要指定的列创建在数据窗口中,注意参数中的id的意思是你select语句中创建列的顺序号;

5:按正常的操作,操作数据窗口就行了;
settransobject(sqlca)
……
Thinkinger 2003-06-21
  • 打赏
  • 举报
回复
比如你要加入列“课程表.课程”:
1:用ls_sq1 = dwobject.getsqlselect()函数得到此数据窗口对象的数据源语句;

2:在ls_sql语句中插入列,构建新的SELECT语句:
string ls_temp

ls_sql = mid(ls_sql, 1, pos(ls_sql, "from", 1) - 1) + “课程表.课程” + &
mid(ls_sql, pos(ls_sql, "from", 1) - 1, len(ls_sql) - &
pos(ls_sql, "from", 1))

3:用dwobject.setsqlselect( ls_sql )函数把新的数据源给数据窗口;

4:用modify()函数加create column语句把你要指定的列创建在数据窗口中,注意参数中的id的意思是你select语句中创建列的顺序号;

5:按正常的操作,操作数据窗口就行了;
settransobject(sqlca)
……
swtony 2003-06-21
  • 打赏
  • 举报
回复
thinkinger,能不能举个列子!你这里的都是一些说明!
Thinkinger 2003-06-21
  • 打赏
  • 举报
回复
你先用setsqlselect()函数把你要添加select语句给数据窗口控件(要注意select列的排列顺序的数据类型要跟数据窗口对象中已经存在的列的类型一致,否则运行时会出错),然后用modify()函数加create column语句把你要指定的列创建!

create column语句例子如下:

Modify("create column( id=<an integer> tabsequence=<an integer> accelerator='<a single letter>' moveable=<0 - False, 1 - True> resizeable=<0 - False, 1 - True> pointer='<Arrow!, Cross!, HourGlass!, IBeam!, Icon!, Size!, SizeNESW!, SizeNS!, SizeNWSE!, SizeWE!, UpArrow!, or cursor filename (with path)>' band=<Detail, Footer, Header, Header.<group #>, Summary, Trailer.<group #>, Background, Foreground>" + &
" x='<an integer>' y='<an integer>' bitmapname=<Yes or No> criteria.dialog=<Yes or No> criteria.override_edit=<Yes or No> format='<constant string containing display format (i.e., [general]) for col (can also be an expression)>' alignment='<0 - Left, 1 - Right, 2 - Center>' criteria.required=<Yes or No> height.autosize=<Yes or No> border='<0 - None, 1- Shadow, 2 - Box, 3 - Resize, 4 - Underline, 5 - 3D Lowered, 6 - 3D Raised>' color='<a long>' height='<an integer>' width='<an integer>' name=<string> tag='<string>'"+&
" background.mode='<0 - Opaque, 1 - Transparent>' background.color='<a long>' font.face='<name of type face (i.e., SYSTEM, COURIER)>' font.height='<negative number for points, positive number for PBUs (i.e., -10 = 10 points, 10 = 10 PBUs>' font.weight='<400 - Normal, 700 - Bold>' font.family='<0 - AnyFont, 1 - Roman, 2 - Swiss, 3 - Modern, 4 - Script, 5 - Decorative>' font.pitch='<0 - default, 1 - Fixed, 2 - Variable>' font.charset='<0 - Ansi, 1 - default, 2 - Symbol, 128 - Shift JIS, 255 - OEM>' font.italic='<0 - False, 1 - True>' font.strikethrough='<0 - False, 1 - True>' font.underline='<0 - False, 1 - True>' html.link='<URL (with or without parameters) that is used to generate a link for each row of the particular column>' html.linktarget='<Target frame or window that is used to as part of the generated link for each row of the particular column>' html.linkargs='<argName>='<expr>' [<argName>='<expr>'] ...'"+&
" edit.validatecode=<Yes or No> edit.focusrectangle=<Yes or No> edit.format=<constant string containing display format (i.e., [general]) for col (can also be an expression)> edit.nilisnull=<Yes or No> edit.password=<Yes or No> edit.required=<Yes or No> edit.hscrollbar=<Yes or No> edit.limit=<max number of chars the user can type (0 - 32767)> edit.codetable=<Yes or No> edit.displayonly=<Yes or No> edit.autovscroll=<Yes or No> edit.case=<Any, Upper or Lower> edit.autohscroll=<Yes or No> edit.autoselect=<Yes or No> edit.vscrollbar=<Yes or No> edit.name='<repository style name, if any>') ")

有点烦琐!
swtony 2003-06-21
  • 打赏
  • 举报
回复
我要的是在代码中怎么完成我想DataWindow中动态的加入一个字段!
guanhua8 2003-06-21
  • 打赏
  • 举报
回复
在画板设计的时候就把该字段加入,然后把它的visible为false.
要用的时候在把visible为true.

611

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧