zoukankan      html  css  js  c++  java
  • 获取最根级EDT类型名称

    有时候需要修改某个扩展数据类型的属性,比如字段的长度等,这些属性只能在最根级的EDT类型上修改,所以需要找到最根级的EDT类型,这个小例子演示了如何根据当前表的字段获取其对应的最根级EDT类型。
    //Return the top extendtypeid,If error,return ''
    static ExtendedDataTypeName GetFinalExtendedType(TableId _tableId,FieldId _fieldId)
    {
        SysDictField        dictField;
        SysDictType         dictType;
        ExtendedTypeId      tmpExtendTypeId;
        ExtendedTypeId      finalExtendTypeId;

        ExtendedTypeId  getNextExtendedTypeId(DictType _dictType)
        
    {
            ;
            
    if(_dictType.extend())
                
    return _dictType.extend();
            
    else
                
    return 0;

        }

        ;

        
    if(_tableId && _fieldId)
            dictField 
    = new SysDictField(_tableId,_fieldId);
        
    else
            
    return '';

        dictType    
    =   new SysDictType(dictField.typeId());

        
    if(!dictType)
            
    return '';
            
        finalExtendTypeId 
    = dictType.id();

        
    while(true)
        
    {
            tmpExtendTypeId 
    = getNextExtendedTypeId(dictType);

            
    //if not '',find next extendTypeId
            if(tmpExtendTypeId)
            
    {
                finalExtendTypeId   
    =   tmpExtendTypeId;
                dictType            
    =  new DictType(finalExtendTypeId);
            }

            
    else
                
    break;



        }


        
    if(finalExtendTypeId)
            
    return  new dictType(finalExtendTypeId).Name();
        
    else
            
    return '';

    }

    附件是测试用例。
  • 相关阅读:
    个人总结05
    微软拼音的用户体验
    个人总结04
    典型用户和用户场景模式
    个人总结03
    个人总结02
    构建之法阅读笔记06
    个人总结01
    学习进度条——第七周
    WebApi学习总结系列第五篇(消息处理管道)
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/885454.html
Copyright © 2011-2022 走看看