Farseer

导航

在Dialog上添加Dimension中的一个元素

在Form上如果想只添加Dimension的某一个是很很简单的事情,只需要指定Dimension[i]就可以了,但在如果想在Runbase的dialog上动态添加Dimension上的某个元素可就不那么简单了.试了半天都没办法加上去,最后只能曲线救国,想了如下三种办法:
1.新建一个EDT,该EDT只有一个元素,跟想要添加到Dialog上的Dimension中的那个元素相对应,与Dimension建立的关系也一样.
如下图所示:

然后重载Dialog,用如下代码添加就可以了

_dialog.addField(typeId(Dimension1));
2.依然用扩展数据类型Dimension添加,把不想要的隐藏掉.如下面代码所示:
  fieldCAFrom = _dialog.addFieldValue(typeid(Dimension),strCAFrom);
    d 
= new Dictionary();
    dt 
= new DictType(d.typeName2Id("Dimension"));

    
for(i=1;i<=dt.arraySize();i++)
    
{
        
if(i!=1)
        
{
            controlName 
= fieldCAFrom.fieldname(i);
            _dialog.formBuildDesign().control(controlName).visible(
false);
         }

    }

3.添加一个string类型的控件,然后重载其Lookup方法,自己写一个窗体出来.

posted on 2006-10-22 13:33  佛西亚  阅读(357)  评论(0编辑  收藏  举报