• 06 DW.NET在C#中应用的特殊注意事项


    今天,总结一下在C#中使用DW.NET的问题:

    (1)使用C#程序的DW.NET显示数据窗口时,第一个遇到的问题就是64位运行C#编译后的代码不成功的问题。必须将使用DW.NET的部分以32位方式运行。

    解释:PB12.5.1的各个DLL都是32位的,如果在C#程序中使用到了这些32位的DLL,而连接池却设置成64位,那么肯定运行不起来的。必须换成32位的连接池。这个PB不变成64位的话就无法解决。(至少我目前是这么认为的)。

    (2)混合使用MVC和DW.net, 必须将DW.NET部分的程序独立于MVC的ROUTER控制范围之外。

    解释:因为DW.NET是服务器控件,必须以传统的.NET方式与服务器交互,而MVC本质上是通过AJAX去与服务器交互。

    (3)画数据窗口时的注意点:

    第一个注意点:画数据窗口时,注意避免line的使用。

    解释:各个版本的DW.NET都存在同一个问题,那就是在浏览器上(大部分浏览器)显示线的时候,会出现位置偏差,基本上,你画出来的线的X,Y位置都是偏下,偏右,会让本来好看的界面变得非常难看。如下图:

     

    那么用什么替代线呢,PB的DW.NET这个BUG估计他们没有闲工夫改。那么我们就用文本来替代线。

    l  1,添加文本

     

    l  2,text改为空白。(注意要把文本的默认值text改为空白,不然在显示的时候你尽管看不到这个text,可是在另存为PDF的时候就会毫不客气的显示出来text字符)

    l  3,将这个文本的前景色设置为无色,背景色设置为黑色。

     

    l  如果是横线,那么就把文本的Height属性设置为4,如果是竖线,就把文本的Width属性设置为4,如果是2个点宽带的线,对应的高度或宽度值设置为8。(当然,设置为7也可以。),如果是斜线?那就没办法了,自己想招吧。

     

    同样的,rectangle,Oval都要避免使用。现在看重新修改成“文本线”的图形:

     

    是不是整齐多了?

    第二个注意点:一定要注意中文的字体设置。

    中文的字体,如果你在CS程序中,即使设置了英文的字体,WINDOWS也会自动帮你纠正。可是如果在WEB条件下,如果你还这么做,那么等待你的就是乱码。所以不要怕麻烦,一旦估计有汉字,那么务必设置为宋体或黑体。这两个字体可以正确显示中文和英文,不会出现麻烦的。

    但是有人会问:那我显示日本语,朝鲜文,甚至法语、瑞典特殊字符,阿拉伯语字符,藏语,蒙古语咋办?就一句话:我不会,自己试。估计也差不多是设置为特殊字体。

    第三个注意点:尽量不要使用图形

    图形在DW中的显示,只要路径正确了应该是能显示出来的。我试验过很多次,都是在浏览器上显示正常,可是在另存为PDF时,就死活不会带上图片,非常郁闷。也不知道是什么原因。也许是文件访问权限上的原因,也许是别的,反正没成功过。

    第四个注意点:不要使用嵌套数据窗口。

    嵌套数据窗口在浏览器上简直惨不忍睹。不说了。

    第5个注意点:GRID格式的数据窗口,在浏览器上的线非常难看,最好是自己改造成文本线,并且变成TABULAR格式。因为在浏览器上你也无法自己调整宽度。

    (4)一般使用DW.NET都是用来显示表格的。而不用来做数据增删改操作。这不是DW.NET擅长的。

    C#中,使用dw.insertrow(0), POSTBACK之后,DW.NET这个服务器控件能保存DW的状态,比如GETITEM什么的都可以。但是,如果先连接数据库,然后RETRIEVE,等POSTBACK后,你就无法获得DW的任何信息,此时Rowcount是0!

    一般我建议这样使用:用C#本身的数据连接去获取数据,进行数据的增删改查操作,需要展示固定坐标格式的表格时,使用DW.

    今天就想到这些。

    其实很多其他的控件能达到DW.NET的效果,但是仅就方便性和熟悉程度来说,我还是觉得DW.NET在展示数据的能力上真的非常不错。仅代表个人观点。

    另外,推荐一下黄国酬的EXTPB.NET, 表现数据窗口真的没的说,一个字,很赞!

  • 相关阅读:
    IOS创建Button简单实例
    IOSActionSheet、AlertView、Slider、Switch的简单使用
    IOS翻转注意
    [教程]iOS 4 开发的好东西 (资料)url
    Proxy和Decorator模式
    Using JNDI connecting DB
    影片“One Day”,还不错
    Minabased TCP server examples
    MySQL vs. Oracle on sequence
    Java DB and JDBC(Embedded Derby)
  • 原文地址:https://www.cnblogs.com/victorlee/p/3435008.html
Copyright © 2020-2023  润新知