今天要修改裁片外发加式收货这个界面,由于要添加上几个列要显示,原来的界面已经放不了,所以自然想到用横向滚动条这种做法,后来才知道这种所谓用横向滚动条来显示更多的项是通过stacked canvas来实现的。自己以前没这种东西,因有很多这种Form可以参考,于是随便打开一个来参考研究下怎么办,可是我看了半天也看出什么东东来,我试着新建一个canvas设置它的类型是stacked,但是弄不了它显示它在主界面。于是去问下同事,可没有几个做过这个,奇怪呀,就是一个同事J有接触过,可是他也忘了具体怎么做了。于是J就和另一个比较有经验的同事L研究下,他们说有可能直接在主canvas直接画个stacked canvas,再放列在上面。看了一下左边的那些工具栏,果然有个图标是画stacked canvas, 一看到这个我就猜定应该是这样做了,否定你直接另外添加一个STACKED CANVAS,没有办法跟主canvas联系起来,为什么自己那么粗心没想到这个呢?
于是马上在主canvas上画了一个stacked canvas,果然马上跳出一个canvas出来与主canvas并列了,接着在stacked canvas上放显示列,接着一个问题又出来了,放在stacked canvas上的列很多,已经越出主canvas的范围,所以要在stacked canvas上画定一个显示范围,再加上横向滚动条,问题是怎样操作?跟同事J研究了下,发现stacked canvas有两层画布,一个是底层画布,也就是windows,一层就是真正的canvas了,那么应该真正的canvas划定的范围就是可显示范围,试着操作果然是这样,但是横向滚动条怎么加上去呢?其实很简单,在stacked canvas里有一个属性就是设置显示横向滚动条的。可是这里我犯了一个惯性思维错误,我根据以前做过的form的经验,认为只可在data block里设置显示滚动条,canvas里是没有设置滚动条的属性的。就因为我这个惯性思维害了浪费了很多时间。直到我试着把参考form的stacked canvas删了发现滚动条也不见了,这就证明滚动条跟stacked canvas是连在一起,这才去认真看stacked canvas的属性解决了问题。
后来回头想想,这个东西很简单呀,可浪费了那么时间去研究,可笑的是竟然没有人很清楚地知道怎么做。不过我也觉得有些东西就算最后你觉得很简单,但是你如果不得要领,那也会搞得你头晕。所以遇到问题自己去解决当然是好,但确实不得要领的时候适当跟别人讨论下,就算他不是很懂,他也有可能启发了你的思维,抓到了要领,最终解决了问题。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13387766/viewspace-475215/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13387766/viewspace-475215/