Search code examples
axaptax++dynamics-ax-2012dynamics-ax-2012-r2

Passing a datatable to .net method using X++


I have a requirement to send the data using X++ to .net method which accepts a datatable as parameter and returns a List.

Any suggestions?


Solution

  • You can use .NET classes natively from X++. This code is pasted from a real method I have in production:

    public static container DataSet2Con(System.Data.DataSet _dataSet)
    {
        System.Data.DataTableCollection     dataTableCol;
        System.Data.DataTable               dataTable;
        System.Data.DataRowCollection       dataRowCol;
        System.Data.DataRow                 dataRow;
        int                                 dataRowCount;
        System.Data.DataColumnCollection    dataColCol;
        System.Data.DataColumn              dataCol;
        int                                 dataColCount;
    
        ...
    
        dataTableCol    = _dataSet.get_Tables();
        dataTable       = dataTableCol.get_Item(0);
        dataRowCol      = dataTable.get_Rows();
        dataRowCount    = dataRowCol.get_Count();
        dataColCol      = dataTable.get_Columns();
        dataColCount    = dataColCol.get_Count();
    
        for (c = 0; c < dataColCount; c++)
        {
            dataCol = dataColCol.get_Item(c);
            straux = dataCol.get_ColumnName();
            ...
        }
        ...