'Unable to set date values in SAP B1 matrix combobox

I am trying to set values in a matrix combobox but I cannot be able to set the first value of date to that combobox. It shows blank and when I select a date, it does not fill the field anyway.

enter image description here

The values I get from the DB are as follows:

enter image description here

Here is my code below including binding the combobox field to a userdatasource:

_expDate = _form.DataSources.UserDataSources.Add("iV_15", SAPbouiCOM.BoDataType.dt_DATE, 100);
oIColumns = oIMatrix.Columns;
_colExpDate = oIColumns.Item("iV_15");
_colExpDate.DataBind.SetBound(true, "", "iV_15");

The below code runs when there is a lost focus change event to the item selection field:

#region Item Change Event Expiry dates
_cmbExpDate = (SAPbouiCOM.ComboBox)oIMatrix.Columns.Item("iV_15").Cells.Item(pVal.Row).Specific;

int count = _cmbExpDate.ValidValues.Count;

if (count > 0)
{
    _expDate.ValueEx = "";
    for (int j = 0; j <= count - 1; j++)
        _cmbExpDate.ValidValues.Remove(0, SAPbouiCOM.BoSearchKey.psk_Index);
}

var expDates = (from oi in _db.OITMs
                join ob in _db.OBTNs
                on oi.ItemCode equals ob.ItemCode
                where ob.ItemCode == _itemNo.ValueEx && oi.OnHand > 0
                orderby ob.ExpDate
                select new
                {
                    ExpDate = ob.ExpDate
                }).Distinct().ToList();

if (expDates.Count > 0)
{
    foreach (var item in expDates)
        _cmbExpDate.ValidValues.Add(item.ExpDate?.ToString(), item.ExpDate?.ToString());
                               
    _cmbExpDate.Select(0, SAPbouiCOM.BoSearchKey.psk_Index);
    _expDate.ValueEx = _cmbExpDate.Value;
}
#endregion

What could be wrong. Is there a better way to achieve what I need in SAP B1?



Solution 1:[1]

as a test try a different data type for your:

_expDate = _form.DataSources.UserDataSources.Add("iV_15", SAPbouiCOM.BoDataType.dt_DATE, 100);

test it with: SAPbouiCOM.BoDataType.dt_LONG_TEXT

you can also try just selecting the value on the combo, instead of setting uds as well.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1