create a form field using the solution model

Hi guys,

I want to create a form field using the solution model and set it’s dataprovider a value from a dataset. I have the following code:

		var $dsData = databaseManager.createEmptyDataSet(1, ['wa_id', 'wa_text'])
		$dsData.rowIndex = 1

		$dsData.addRow([1,'bla'])
		$dsData.addRow([2,'etc'])
		var $uri = $dsData.createDataSource('tableData', [DM_COLUMNTYPE.INTEGER,DM_COLUMNTYPE.TEXT]);

		
		var $formName = application.getUUID().toString()
		var $jsForm = solutionModel.newForm($formName , $uri, null, null, false, 500, 400)
		$jsForm.dataSource = $uri
		
		var $jsFormExd = solutionModel.getForm('emp_absence_wa_new_l');
		$jsForm.extendsForm = $jsFormExd
		$jsForm.view = JSForm.LOCKED_LIST_VIEW
		$jsForm.navigator = SM_DEFAULTS.NONE
		
		var $jsFld = $jsForm.newField($dsData.get, SM_DISPLAYTYPE.TEXT_FIELD, 0, 40, 80, 20);
		var $value = $jsForm.controller.getDataProviderValue($jsFld.dataProviderID)
		$jsFld.name = $dsData.getColumnName(1);
		$jsFld.anchors= SM_ANCHOR.EAST;
		$jsFld.editable	= true;

		var $jsFld = $jsForm.newField($dsData.getColumnName(2),SM_DISPLAYTYPE.TEXT_FIELD, 80, 40, 80, 20);
		$jsFld.name = $dsData.getColumnName(2);
		$jsFld.anchors = SM_ANCHOR.EAST;
		$jsFld.editable	= true;

		elements.tp_wa_l.removeAllTabs()
		var $ok = elements.tp_wa_l.addTab($jsForm,'tab_' + $formName, 'Rosters');
		elements.tp_wa_l.tabIndex = 1
		elements.tp_wa_l.visible = true

but the form will not display the 2 fields… will just be grey

Am I doing something wrong?

Hi,

The addTab function takes form objects, not JSForm objects.
So your code

var $ok = elements.tp_wa_l.addTab($jsForm,'tab_' + $formName, 'Rosters');

Should be

var $ok = elements.tp_wa_l.addTab(forms[$formName],'tab_' + $formName, 'Rosters');

that helped! thanks