Show field of run time control in MSD axapta


 public void showFields(tableId tableId,FormGridControl formGridControl1, FormBuildDataSource formDataSource1)  
 {  
 FormStringControl formStringControl1,formStringControl2;  
 DictTable dictTable;  
 DictTable dictTable1;  
 DictTable dictTable2;  
 fieldId fieldId;  
 int i;  
 int t;  
 int fieldCnt;  
 Query Q1;  
 str ColValue[];  
 str strQuery;  
 object formRunCaller;  
 ;  
 formRunCaller = element.args().caller();  
 testId1=formRunCaller.MethodA();  
 dictTable1 = new DictTable(_TestColumn.TableId);  
 // dictTable2 = new DictTable(_TestRows.TableId);  
 dictTable = new DictTable(tableId);  
 select * from _TestColumn where _TestColumn.QId == _Question.QId && _TestColumn.TestId==testId1 ;  
 if(_TestColumn)  
 {  
 ColValue[1] = _TestColumn.Col1;  
 ColValue[2] = _TestColumn.Col2;  
 ColValue[3] = _TestColumn.Col3;  
 ColValue[4] = _TestColumn.Col4;  
 ColValue[5] = _TestColumn.Col5;  
 ColValue[6] = _TestColumn.Col6;  
 ColValue[7] = _TestColumn.Col7;  
 ColValue[8] = _TestColumn.Col8;  
 ColValue[9] = _TestColumn.Col9;  
 ColValue[10] = _TestColumn.Col10;  
 //ss  
 ColValue[11]=_TestColumn.Col11;  
 ColValue[12]=_TestColumn.Col12;  
 ColValue[13]=_TestColumn.Col13;  
 ColValue[14]=_TestColumn.Col14;  
 ColValue[15]=_TestColumn.Col15;  
 ColValue[16]=_TestColumn.Col16;  
 //ss  
 }  
 for (i=1; i<=16; i++) { if(ColValue[i] != "")  
 {  
  fieldId = dictTable.fieldCnt2Id(i);  
 formStringControl1 = formGridControl1.addDataField(formDataSource1.id() ,fieldId2Ext(fieldId, 1));  
 formStringControl1.label(ColValue[i]);  
 }  
 else  
  {  
 continue;  
 }  
  }  
 //formGridControl1.dataSource(_TestRows); }