This may be a little long so I apologize for that. My issue is that I have a dynamic list that is getting filtered by multiple other inputs but when a value is set via code it does not seem to update the value of the input in the dynamic list.
I have the following code as a UDMethod that is being called in the dynamic list:
/*Change these to the 5 Column names that are in your table.*/
string LT_QuestionCol = "QUESTION"; /*this Col is the group of options... equal to the passed ComboName from above*/
string LT_AnswerCol = "ANSWER"; /* this Col contains the actual resulting option ID*/
string LT_DescCol = "DESCRIPTION"; /* this Col contains the description of the Answer*/
string LT_SortByCol = "SORT"; /* we sort by this Col.*/
string LT_Filter1Col = "FILTER1"; /* we will further filter by this column.*/
string LT_StartDate = "StartDate"; /* we will further filter by this column.*/
string LT_EndDate = "EndDate"; /* we will further filter by this column.*/
Inputs.ErrorMsg_chr.Value = Filter1+Filter2+Filter3+Filter4+Filter5;
return string.Join("~",(from Ques in Db.PcLookupTblValues
join Desc in Db.PcLookupTblValues on new {Ques.Company, Ques.RowNum, Ques.LookupTblID} equals new {Desc.Company, Desc.RowNum, Desc.LookupTblID }
join Answ in Db.PcLookupTblValues on new {Ques.Company, Ques.RowNum, Ques.LookupTblID} equals new {Answ.Company, Answ.RowNum, Answ.LookupTblID}
join Seq in Db.PcLookupTblValues on new {Ques.Company, Ques.RowNum, Ques.LookupTblID} equals new {Seq.Company, Seq.RowNum, Seq.LookupTblID}
join Filt1 in Db.PcLookupTblValues on new {Ques.Company, Ques.RowNum, Ques.LookupTblID} equals new {Filt1.Company, Filt1.RowNum, Filt1.LookupTblID}
join SDate in Db.PcLookupTblValues on new {Ques.Company, Ques.RowNum, Ques.LookupTblID} equals new {SDate.Company, SDate.RowNum, SDate.LookupTblID}
join EDate in Db.PcLookupTblValues on new {Ques.Company, Ques.RowNum, Ques.LookupTblID} equals new {EDate.Company, EDate.RowNum, EDate.LookupTblID}
where Ques.LookupTblID == LookupTblID
&& Ques.ColName == LT_QuestionCol
&& Ques.DataValue== Question
&& Answ.ColName == LT_AnswerCol
&& Desc.ColName == LT_DescCol
&& Seq.ColName == LT_SortByCol
&& Filt1.ColName == LT_Filter1Col
&& (Filter1 == "" || (Filt1.DataValue.Contains(Filter1+Filter2+Filter3+Filter4+Filter5)))
&& SDate.ColName == LT_StartDate
&& (SDate.DataValueDate <= DateTime.Today || SDate.DataValue == "")
&& EDate.ColName == LT_EndDate
&& (EDate.DataValueDate >= DateTime.Today || EDate.DataValue == "")
orderby Seq.DataValue
select new {Answer = Answ.DataValue,Description = Desc.DataValue}).ToList()
.Select(r => string.Join("`",r.Answer,r.Description))) + ""
I am passing the following parameters to the UDMethod, Once I got the error I also sent all the inputs so that I could pass out the values that the UDMethods was using into a new variable and see where the error is happening (See the Inputs.ErrorMsg_chr.Value line of code).
As you can see from the image below I am setting the dynamic list information with the UDMethod as well as the filters.
I have filter5 getting set based on the following code, which when there is only one value set the value of the combo box to that value and then sets the combo box to read only
//default to enabled
bool FieldDisabled = false;
if (Inputs.Filter5_cmb.Control.Rows.Count == 0)
{
//no options in combo
FieldDisabled = true;
}
else if (Inputs.Filter5_cmb.Control.Rows.Count == 1)
{
//only one option available... set this as default
FieldDisabled = true;
if (Inputs.Filter5_cmb.Value != Inputs.Filter5_cmb.Control.Rows[0].Cells[0].Value.ToString())
{
Inputs.Filter5_cmb.Value = Inputs.Filter5_cmb.Control.Rows[0].Cells[0].Value.ToString();
}
}
return FieldDisabled;
When I go into test inputs for the configurator and select filter1, filter5 gets set to ‘N’ with a description of ‘Not Approved’ but even after manually refreshing the dynamic list it does not update the information
I have a button that displays the value in the box and above the box is the error message field, which shows the value for the first filter (“L7”), but not the “N” for the Filter5
When I change the UDMethod to manually call a “N” instead of the value in filter5 I get the response I am looking for.
Has anyone encountered this before and or would have any suggestions for testing moving forward?