• 解决DevExpress TreeList控件BestFitColumns()不起作用的问题


      这个控件的Demo中BestFitColumns()是可以执行成功的,而我的不行,dev官网上有人提的问题都没人回答。

      我们的项目中界面不仅仅是在窗体里画的,窗体的基类里只画了大体的布局控件(每种布局就表示一种类型的窗体,实际业务的窗体继承适合自己的窗体),将窗体画分了各个区域,每个区域中的控件是由一个叫做所谓的外观层(这个外观层比设计模式和其他开源等项目中的外观层意义不大一样,比它们要复杂)创建的,每种窗体基类只要访问外观的对象获得控件添加到相应区域就行,其他的什么都不做,与控件相关的事件和像下拉框中的编辑项都由外观层的相应类完成,实际业务窗体给外观的各对象赋值就行,业务逻辑层的对象必须实现自己需要实现的接口,因为外观层中只知道这些接口,这样实现简单创建界面的同时还实现了界面层和业务层的低耦合。

      但我创建一种使用TreeList控件的基窗体时,我在外观层中调用BestFitColumns()不起作用,原因是TreeList控件还未添加到实际的窗体中,它还不知道自己的大小,所以它的列无法按内容自适应宽度,我把它移到基窗体的添加TreeList控件之后,但此时还是不成功,我在添加TreeList控件之后和调用BestFitColumns()之前,调用TreeList控件的ForceInitialize(),这样BestFitColumns()就起作用了。这样它的意思就是TreeList控件首先已经添加到窗体,然后本身也我完成了初始化,然后它才能按内容自适应宽度,希望这个对遇到同样问题的人有帮助,差点忘了,我们的dev是9.3的。

      目前这个项目的架构接近尾声了,还做了一个实际的窗体和一个测试的窗体,很好的完成预期目标,就是不知道这样的架构能不能容易的理解和掌握,注释是很全了,几乎每个地方都有,接下来会画架构的类图和简单的使用说明,然后最好是实际演示做一个业务模块。这段时间还在做一个额外的单子(挣点小钱,呵呵),是有点累的,真想能多点精力和时间。

    作者:Rick Carter
    出处:http://pains.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    作业 20180918-2 每周例行报告
    将Python文件打包为exe文件,并在控制台运行之简易教程
    作业20181011-1 每周例行报告
    用WebView加载本地图片的方法
    ios webview自适应实际内容高度4种方法
    UIWebView加载本地网页与图片的方法
    nonatomic与atomic的区别与作用
    @dynamic与@synthesize的区别与用法
    xib与storyboard的区别
    iOS与H5的交互
  • 原文地址:https://www.cnblogs.com/pains/p/1694103.html
Copyright © 2020-2023  润新知