@@ -817,8 +817,9 @@ export class DataTable implements AfterViewChecked,AfterViewInit,AfterContentIni
817
817
818
818
let targetNode = event . target . nodeName ;
819
819
if ( targetNode == 'TH' || ( targetNode == 'SPAN' && ! this . domHandler . hasClass ( event . target , 'ui-c' ) ) ) {
820
- this . sortOrder = ( this . sortField === column . field ) ? this . sortOrder * - 1 : 1 ;
821
- this . sortField = column . field ;
820
+ let columnSortField = column . sortField || column . field ;
821
+ this . sortOrder = ( this . sortField === columnSortField ) ? this . sortOrder * - 1 : 1 ;
822
+ this . sortField = columnSortField ;
822
823
this . sortColumn = column ;
823
824
let metaKey = event . metaKey || event . ctrlKey ;
824
825
@@ -944,14 +945,16 @@ export class DataTable implements AfterViewChecked,AfterViewInit,AfterContentIni
944
945
return false ;
945
946
}
946
947
948
+ let columnSortField = column . sortField || column . field ;
949
+
947
950
if ( this . sortMode === 'single' ) {
948
- return ( this . sortField && column . field === this . sortField ) ;
951
+ return ( this . sortField && columnSortField === this . sortField ) ;
949
952
}
950
953
else if ( this . sortMode === 'multiple' ) {
951
954
let sorted = false ;
952
955
if ( this . multiSortMeta ) {
953
956
for ( let i = 0 ; i < this . multiSortMeta . length ; i ++ ) {
954
- if ( this . multiSortMeta [ i ] . field == column . field ) {
957
+ if ( this . multiSortMeta [ i ] . field == columnSortField ) {
955
958
sorted = true ;
956
959
break ;
957
960
}
@@ -963,15 +966,17 @@ export class DataTable implements AfterViewChecked,AfterViewInit,AfterContentIni
963
966
964
967
getSortOrder ( column : Column ) {
965
968
let order = 0 ;
969
+ let columnSortField = column . sortField || column . field ;
970
+
966
971
if ( this . sortMode === 'single' ) {
967
- if ( this . sortField && column . field === this . sortField ) {
972
+ if ( this . sortField && columnSortField === this . sortField ) {
968
973
order = this . sortOrder ;
969
974
}
970
975
}
971
976
else if ( this . sortMode === 'multiple' ) {
972
977
if ( this . multiSortMeta ) {
973
978
for ( let i = 0 ; i < this . multiSortMeta . length ; i ++ ) {
974
- if ( this . multiSortMeta [ i ] . field == column . field ) {
979
+ if ( this . multiSortMeta [ i ] . field == columnSortField ) {
975
980
order = this . multiSortMeta [ i ] . order ;
976
981
break ;
977
982
}
0 commit comments