Skip to Content

Deserialized DataTable does not create calendar date picker on Matrix.

I'm creating XML to populate the DataTable, which is data source for matrix on custom form. Column that definided as "Date" does not create calendar picker in cells, but if I input wrong value in this cell, it thrown error "Date not valid", so it reconized date value. Same issue with "Quantity" field. Using method DataTable.ExecuteQuery() and than serialize table to XML, I get equal XML as I created, however in this case calendar picker appears.

// Picker not appears 
matrixSource.LoadSerializedXML(BoDataTableXmlSelect.dxs_All,xmlSource);
matrix.LoadFromDataSourceEx();

// Picker appears 
matrixSource.ExecuteQuery( query );
matrix.LoadFromDataSourceEx();

matrixSource.SerializeAsXML( BoDataTableXmlSelect.dxs_All ); // returns same XML in both cases.

Help please.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    May 25, 2017 at 01:50 PM

    Oh, I found a solution. After deserialization you should use:

    Form.Settings.Enabled = false;
    Form.Settings.Enabled = true;

    I hope this issue will be fixed.

    Add comment
    10|10000 characters needed characters exceeded

  • May 25, 2017 at 01:23 PM

    Try to load data only using BoDataTableXmlSelect.dxs_DataOnly

    You probably will need to format your xmlSource as well.

    I believe when you load all, the metadata becomes text instead of date.

    Add comment
    10|10000 characters needed characters exceeded

    • Unfortunately did not help. I found that if I click on the matrix with the right mouse button and select the "Form UI Settings" menu, and then click OK in the opened form, the picher will appear (seems like form fully updates). But methods Form.Refresh(), Form.Update() or matrix.Item.Refresh() do not give the desired effect.