I tried moving from 16.2 to 19.1 and now the dates all show with time. They used to show MM/dd/yyyy only. I tried using the format property on the date column and it seems to ignore it.
It seems to be specific to updating the Infragistics.MVC.dll as I use the GridDataSourceAction applied to my MVC controller action.
$('#grid').igGrid({ autoGenerateColumns: false, autoGenerateLayouts: false, mergeUnboundColumns: false, height: gridheight(), width: "100%", virtualizationMode: "continuous", rowVirtualization: true, fixedHeaders: true, responseDataKey: "Records", generateCompactJSONResponse: false, localSchemaTransform: false, primaryKey: "Id", enableUTCDates: true, columns: [ { headerText: "Number", key: "Number", dataType: "number", width: 80 }, { headerText: "Group", key: "TicketGroup", dataType: "string", width: 100 }, { headerText: "Type", key: "TicketType", dataType: "string", width: 120 }, { headerText: "Creator", key: "Creator", dataType: "string", width: 160 }, { headerText: "Date", key: "TicketDate", dataType: "date", width: 120}, { headerText: "User", key: "ReferenceUser", dataType: "string", width: 160 }, { headerText: "Description", key: "Description", dataType: "string"}, { headerText: "Category", key: "TicketCategory", dataType: "string", width: 160 }, { headerText: "SubCategory", key: "TicketSubCategory", dataType: "string", width: 160 }, { headerText: "Assigned", key: "AssignedUser", dataType: "string", width: 160 }, { headerText: "Priority", key: "TicketPriority", dataType: "string", width: 90 }, { headerText: "Children", key: "Children", dataType: "number", width: 70 }, { headerText: "Status", key: "Status", dataType: "string", width: 170 } ], autofitLastColumn: false, cellClick: function (evt, ui) { var grid = ui.owner; try { var gridRow = grid.rowAt(ui.rowIndex); var cellCount = gridRow.cells.length; // Group by rows have only 2 cells, so if it's greater than 2 it actually is a data row. if (cellCount === 2) { processrowcolors(grid); } } catch(e) {} }, rowsRendered: function (evt, ui) { var grid = ui.owner; processrowcolors(grid); }, features: [ { name: 'Filtering', filterExprUrlKey: 'filter', filterLogicUrlKey: 'filterLogic', filterDialogWidth: 640, filterDialogHeight: 480, filterDialogFilterDropDownDefaultWidth: 120, filterDropDownWith: 120, filterSummaryAlwaysVisible: false, mode: "advanced", advancedModeEditorsVisible: true, columnSettings: [ { columnKey: "TicketDate", defaultExpressions: [ { expr: filterDate, cond: "after" } ] } ], type: 'remote' }, { name: 'GroupBy', resultResponseKey: 'GroupBy', groupByUrlKey: 'sort', groupByUrlKeyAscValue: 'asc', groupByUrlKeyDescValue: 'desc', initialExpand: false, columnSettings: [ { columnKey: "Number", allowGrouping: false }, { columnKey: "Description", allowGrouping: false }, { columnKey: "Children", allowGrouping: false } ], type: 'local', }, { name: 'Resizing', deferredResizing: false, }, { name: 'Responsive', enableVerticalRendering: false }, { name: 'Sorting', applySortedColumnCss: false, sortUrlKey: 'sort', sortUrlKeyAscValue: 'asc', sortUrlKeyDescValue: 'desc', type: 'local', columnSettings: [ { columnKey: "Number", allowSorting: true, firstSortDirection: "asc", currentSortDirection: "desc" } ] } ], dataSourceUrl: $('#GetDataAction').data('request-url') });
Hello,
The formatting can be controlled with the regional option.
Here's a topic demonstrating how to customize them - https://www.igniteui.com/help/customizing-the-localization-of-netadvantage-for-jquery-controls#set
But the format property should take precedence and I don't see it applied into your columns definition. How do you apply it? And what is the value you are setting it to?
I didn't need a format property in 16.2, my code sample is from my working 16.2 version. I have tried format="date" and format="MM/dd/yyyy", of which neither worked.
In 17.1 release we've introduced different date handling and we started formatting the dates in UTC date format. Here's the migration guide on that.
Another change included there is that the datasource now stores the dates as date object.
And when setting localSchemaTransform option to false, this tells the datasource you'll pass the values in their correct types(no need to transform them). But as your datasource comes from a response, dates cannot be send as date objects, they are strings (for example "2012-04-15T00:00:00Z").
So you have to either transform those strings to dates before binding the data to the grid, or set the option localSchemaTranform to true. I'd recommend localSchemaTranform : true
The reason for the different behavior before 17.1 is because the dates weren’t stored as dates before, which required transforming them to date objects always.
I know this is a bit tricky so if you have further questions on it, please let me know.