0

我想将分组添加到我的 jqGrid。我有一个简单的模型:

public class ViolationViewModel
{       
    [JqGridColumnFormatter(JqGridColumnPredefinedFormatters.Date, SourceFormat = "d.m.Y H:i:s", OutputFormat = "d.m.Y H:i")]
    public DateTime FixationTime { get; set; }       
    public string OrderNumber { get; set; }
    public string ViolationType { get; set; }
}

这是视图中的代码:

@{
      var grid = new JqGridHelper<ViolationViewModel>("myGrid",
      dataType: JqGridDataTypes.Json,
      methodType: JqGridMethodTypes.Post,
      pager: true,
      sortingName: "ViolationType",
      sortingOrder: JqGridSortingOrders.Asc,
      url: Url.Action("Violation", "Cabinet"),
      viewRecords: true,
      rowsList: new List<int>() { 10, 20, 30, 50, 100 },
      loadOnce: true,
      multiSelect: true,
      autoWidth: true,
      groupingEnabled: true,
      groupingView: new JqGridGroupingView { ColumnShow = new[] { false }, Fields = new[] { "ViolationType" }, DataSorted = true},         
    ).FilterToolbar(new JqGridFilterToolbarOptions() { StringResult = true })
    .Navigator(new JqGridNavigatorOptions() { Add = false, Delete = false, Edit = false, View = false, Refresh = false, Search = false });

}

我有 16 条记录,15 条记录相同ViolationType,1 条记录有其他值。

jqGrid 创建三个(必须是两个)组的问题,但是有两个组具有相同的标题。但是,当我单击任何列(更改排序)时,一切正常,我有两个组。

哪里有问题?

还有一个问题:在rowList选项中,我的第一个值为10. 但是当我的网格被加载时,默认值为20. 如何将其设置为第一个值?

4

1 回答 1

1

您已设置DataSortedtrue. 在这种情况下,来自初始请求的数据应该已经在服务器端正确排序(按“ViolationType”)并以正确的顺序返回。

对于您问题的第二部分,只需设置rowsNumber10初始值:

@{
    var grid = new JqGridHelper<ViolationViewModel>("myGrid",
        dataType: JqGridDataTypes.Json,
        methodType: JqGridMethodTypes.Post,
        pager: true,
        sortingName: "ViolationType",
        sortingOrder: JqGridSortingOrders.Asc,
        url: Url.Action("Violation", "Cabinet"),
        viewRecords: true,
        rowsList: new List<int>() { 10, 20, 30, 50, 100 },
        rowsNumber: 10,
        loadOnce: true,
        multiSelect: true,
        autoWidth: true,
        groupingEnabled: true,
        groupingView: new JqGridGroupingView { ColumnShow = new[] { false }, Fields = new[] { "ViolationType" }, DataSorted = true},         
    )
    .FilterToolbar(new JqGridFilterToolbarOptions() { StringResult = true })
    .Navigator(new JqGridNavigatorOptions() { Add = false, Delete = false, Edit = false, View = false, Refresh = false, Search = false });
}
于 2013-02-06T10:41:39.663 回答