Feb 20, 2018, 11:04 AM
SetValue of textfield in RowExpander - Cannot read property 'setValue' of undefined
I am trying to set the value of a textfield in a rowexpander in codebehind or in js on AfterRender event listener, but I get
Here is the textfield in the rowexpander:
Cannot read property 'setValue' of undefined
<ext:TextField runat="server" Name="notedown" FieldLabel="Note Under" ID="fnotedown">
<Listeners>
<AfterRender Handler="if (form.record.data.Lid != null && form.record.data.Lid != '' )
{
setNoteUnder_js(form.record.data.id);
}" />
</Listeners>
</ext:TextField>
JS:var setNoteUnder_js = function (fieldid){
#{DirectMethods}.setNoteUnder(fieldid,{
success: function (result) {
#{fnotedown}.setValue(result); //undefined error
}
});
}
Direct Method in Code Behind:[DirectMethod]
public string setNoteUnder(int fieldid)
{
DAL.CDMADataContext dc = new DAL.CDMADataContext();
var field = (from f in dc.CFormFields
where f.cid == cid && f.id == fieldid
select f).FirstOrDefault();
string units = null;
if (field.Lid != null && field.Lid != "")
{
units = units + " Gender: " + field.text1 + " Unit: " + field.text2;
fnotedown.SetValue(units); //undefined error
return units;
}
return null;
}