2014-06-20 3 views
1

HP ALM에서 필드를 가져옵니다. 하지만 여기서 나는 필드 이름을 알아 내는데 어려움을 겪는다.HP ALM의 결함 필드 이름을 찾는 방법은 무엇입니까?

BugFactory bf = (BugFactory)qcc.BugFactory; 
List bugs = (List)bf.NewList(bf.Filter.Text); 

string b5 = Convert.ToString(bg["BG_PROJECT"]); 
string b6 = Convert.ToString(bg["BG_STATUS"]); 
string b7 = Convert.ToString(bg["BG_TARGET_CYCLE"]); 

처음 두 개는 결과를 얻는 것이 좋고 마지막 문장은 잘못된 필드 이름 오류를 표시합니다.

필드 이름을 올바르게 입력 하시겠습니까?

감사합니다.

답변

1

는이 질문에 대한 내 대답을 참조하십시오

HP Quality Center field names

그것은 프로그래밍 팩토리 객체를 주어진 필드를 결정하는 방법을 보여줍니다 몇 가지 예제 코드가 있습니다. 완벽한 시작 인 BugFactory 객체가 있습니다.

0

당신은 당신이 samewith BugFactory을 사용할 수 있습니다 다음은 AuditRecord입니다 예를 들어 공장의 필터를 사용할 수 있습니다

AuditRecordFactory auditLog = this.ALMConnection.AuditRecordFactory as AuditRecordFactory; 
var auditLogFilter = auditLog.Filter as ITDFilter; 
//Get the field list 
List fieldList= auditLogFilter.Fields; 

UPDATE : 내가 여기에 완전한 답변 https://stackoverflow.com/a/24368561/3915468 을 발견 :)

@TheArtTrooper는 다음 방법으로 좋은 대답을 제공합니다.

private void ExploreFactoryFieldDefinitions(IBaseFactory factory) 
    { 
     List fields = factory.Fields; 

     foreach (TDField field in fields) 
     { 
      FieldProperty field_property = (FieldProperty)field.Property; 

      if (field_property.IsRequired) 
      { 
       Log(String.Format("User Label: {0}\n", field_property.UserLabel)); 
       Log(String.Format("User Column Type: {0}\n", field_property.UserColumnType)); 
       Log(String.Format("DB Column Name: {0}\n", field_property.DBColumnName)); 
       Log(String.Format("DB Column Type: {0}\n", field_property.DBColumnType)); 
       Log(String.Format("DB Table Name: {0}\n", field_property.DBTableName)); 
      } 
     } 
    }