0

我的日期格式为MM/DD/YYYY,但它们没有以正确的格式排序。它添加了垃圾数据。

function loadGrid() 
{

$("#grid").jqGrid({
    datatype: "local",
    altRows: true,
    altclass: 'myAltRowClass',
    colNames:['Expense # ', 'Description', 'Expense Date ', 'Amount ', 'Status '],
    colModel:[
        {name:'expno',index:'expno', width:80, align:"center",sorttype:"string"},
        {name:'desc',index:'desc', width:150, align:"center",sortable:false},
        {name:'expdate',index:'expdate', align:"center",width:80, sorttype:'date',formatter:'date', formatoptions: {newformat:'mm/dd/yyyy'}, datefmt: 'mm-dd-yyyy'},
        {name:'expamnt',index:'expamnt',align:"left", width:70,sortable:false},
        {name:'estatus',index:'estatus', width:90, align:"center",sortable:false},
    ],

    beforeSelectRow: function(rowid, e) {   return false;},
    hidegrid: false,
    height: "auto",
    width: "700",
    multiselect: false,
    caption: "My Expenses",
    rowList:[10,20,30],
    rowNum: 10,
    page: 1,
    pager: '#pager',
    viewrecords: true,
    sortname:'expno',
    sortorder: 'asc',
    loadComplete: function () {
        $( ".selector" ).button({});

        $("#grid").effect("highlight", {}, 1500);
    }
});

for(var i=0;i<=gridData.length;i++)
    jQuery("#grid").jqGrid('addRowData',i + 1, gridData[i]);
jQuery("#grid").setGridParam({rowNum:10}).trigger("reloadGrid");
}

在这个函数之后,网格加载了 10 条记录。我想使用日期对这些记录进行排序。但是,我无法按照我在datefmt选项中尝试的正确顺序进行排序。

4

1 回答 1

0

您应该验证您使用正确的输入格式。您没有为jqGrid 指定任何srcformat属性,假设您使用默认的 ISO 8601 (ISO8601Short) 数据格式:。例如,今天的日期应该表示为字符串。另一方面,我似乎很怀疑您指定而不是. 顺便说一句,我建议您使用而不是.formatoptionsformatter:'date'"Y-m-d""2013-07-24"datefmt: 'mm-dd-yyyy'datefmt: 'yyyy-mm-dd'formatoptions.srcformatdatefmt

摘要:

  • 将输入数据的格式更改gridData[i].expdate"Y-m-d"(如“2013-07-24”)
  • expdate将列的定义更改为
{name: "expdate", align: "center", width: 80, sorttype: "date",
formatter: "date", formatoptions: {newformat: "mm/dd/yyyy"}}
  • id您想要的 rowid 属性添加到gridData数组的每个项目。如果您的数据的某些列已经包含一些唯一值,那么您也可以添加key: true到相应的列定义中,并且不需要id在输入数据中具有属性。例如,如果expno包含唯一值,您可以添加key: trueexpno列的定义中。
  • 使用参数data: gridData而不是在循环中填充网格addRowData
  • 向网格定义添加gridview: true和选项。autoencode: true
于 2013-07-24T10:32:03.133 回答