03 如何在.NET中使用PB12.5的datawindow -- 艰难的过程,一个DW显示的例子
艰难的过程,一个DW显示的例子
a2222222222 出品,必是精品
如果你有问题需要和我探讨,请发送到:victor.cn.lee@gmail.com 我可能比较懒,很多天都不看邮件,但如果你能指出我的错误,我将非常感谢。
---------------------------------------------------------------------------------------------------------------------------------
这可难为人了,好不容易找到个美女,美女告诉你,你不是正版我不嫁!我在QQ问了很多专家,黄哥, 老易哥,他们告诉我,你没PJ...... 首先感谢他们的帮助,他们都是先驱者。
问题是我不会破解,也暂时没钱买正式的PB125,先从网上找个破解吧。找到破解文件2个,嘿嘿,覆盖。你会觉得这下没问题了吧? 1个字:没用!
后来老易给了个关键的提示:可能有重复的文件。这个提示很重要,我看到了,还有2个文件,在GAC目录下,我的GAC目录是在“C:\Windows\Microsoft.NET\assembly\GAC_32”下,注意哦:其他的操作系统可能不一样。把文件覆盖一下,OK。
好,现在看看效果:
那现在你运行,VS2010会提示你,你需要引用一下几个DLL, 执行如下步骤
(1) 看.net工程下的bin目录有没有这2个文件:没有就拷贝一下。
Sybase.PowerBuilder.DataWindow.Web.dll
Sybase.PowerBuilder.DataWindow.Win.dll
(2) 在”解决方案管理器”中增加如下的References:
编译。这回终于是成功了。
经过这1整天的折腾,我总结出,如你满足如下情况之一的话,你的DW.NET就是好用的:
(1) 你的PB12.5是正式授权版,应该就是好用的(我准备买正版了。)
(2)你把Sybase.PowerBuilder.DataWindow.Web.dll、Sybase.PowerBuilder.DataWindow.Win.dll破解找到,也能用,但是要把以前的DLL全都替换掉。一般是3个地方:
a)C:\Windows\Microsoft.NET\assembly\GAC_32
b) C:\Program Files (x86)\Sybase\PowerBuilder 12.5\DotNET\bin
c) .net工程下的bin目录
3个地方的文件都要统一。
现在,你还没看到这个效果。接下来我们看看第一个DATAWINDOW.NET页面的诞生。就像很多入门程序都先写个HELLO WORLD一样。
1) 用PB12.5新建一个PBL,里面放上一个数据窗口。我的pbl是:invdemo.pbl,数据窗口名是:d_ckline
2) Invdemo.pbl文件拷贝到.net工程的bin目录
3) 页面的page_load中写入如下代码:
protected void Page_Load(object sender, EventArgs e)
{
WebDataWindowControl1.LibraryList= "bin/invdemo.pbl";
WebDataWindowControl1.DataWindowObject = "d_ckline";
WebDataWindowControl1.InsertRow(0);
}
4) Debug一下,看看华丽的DW出现了:
你可以看到一个FREEform形式的数据窗口显示出来了。其实setitem, retrieve都可以用,以后慢慢来,先显示了就成功一大半了。
(有人会疑惑,这线好像压了字了!没错,这个是网页的CSS影响的,以后再慢慢调整。)
那么,破解文件在哪呢,到CSDN上看看 http://download.csdn.net/detail/lbee139/5099834
在vs2010里也可以直接显示Datawindow,方法是,设置webdatawindow的属性:
(1)在解决方案管理器中,添加包含数据窗口的PBL,没有文件夹可以新添加一个.
(1) 设置WebDatawindowControl的这两个属性:
LibraryList ~/pbpbl/invdemo.pbl
DataWindowObject d_anl
这时候你会发现这个网页就精彩了:
有点我熟悉的PB DATAWINDOW模样了。
=====我是欠揍的分割线=============================
那么,没有办法不破解就可以进行开发吗?我从网上找了一个PB11.5资料,有一部分讲没有破解的情况下,如何自行加载控件和委托事件,没有试验过是否正确,供参考。原文地址:http://www.cnblogs.com/xiyang1011/archive/2010/01/21/1653490.html
所用PB版为PB11.5评估版,破解后即可使用,不破解就不能用。
DataWindow.Net控件在PB11.5没有得到正式授权的情况下(暴力破解那种),无法在Net环境进行可视化开发,PB12.5也是如此。如图-1所示:
必须写代码创建控件、委托事件,代码如图-2所示
注意:加载DataWindow.Net数据源方式比较简单,不是PB传统方式连接事务再Retrieve方式,直接使用datatable对象即可,见上述代码dw_master.Retrieve(table_daimalb)