日期格式化程序,左对齐寻呼机和放大器的几个问题。 StockDate排序

时间:2015-08-13 20:31:43

标签: jqgrid free-jqgrid

我与free-jqGrid有3个不同的问题。 free-jqgrid版本是4.9.2。他们是......

1)由于网页css覆盖,jqgrid分页中的左对齐文本。

2)jqgrid(javascript - formatter& formatoptions)股票日期格式不正确。 (在sql数据库中,我默认将其格式化为YYYYMMDD)。

3)股票日期的列排序(如果股票日期格式得到解决,它可能会消失。

服务器端数据库脚本是......

                using (var dbReader1 = dbCommand.ExecuteReader())
                {
                    //#if (!dbReader1.HasRows) { throw new Exception("Records do not exists"); }
                    if (dbReader1.HasRows)
                    {
                        var rowCount = 0;

                        while (dbReader1.Read())
                        {
                            var row = new JqGridTemplate1.Row { id = (rowCount + 1) };  //id have to start with 1 cuz jqGrid doesn't start with 0 but 1...
                            row.cell.Add(dbReader1["StockNo"].ToString());
                            row.cell.Add(dbReader1["Vin"].ToString());
                            row.cell.Add(dbReader1["Year"].ToString());
                            row.cell.Add(dbReader1["Make"].ToString());
                            row.cell.Add(dbReader1["Model"].ToString());
                            row.cell.Add(dbReader1["Trim"].ToString());
                            row.cell.Add(string.Format("{0:yyyyMMdd}", DateTime.Parse(dbReader1["StockDate"].ToString())));  //#"{0:MM/dd/yyyy}";
                            returnJqGridTemplate1.rows.Add(row);
                            rowCount++;
                        }
                    }
                }

1 个答案:

答案 0 :(得分:1)

你永远不应该发布累积问题,因为它使问题索引变得更加困难,因此其他人很难找到答案。您应该始终在演示中使用非最小化版本的CSS和JavaScript文件。

问题的原因不在于自定义CSS zz.css

的设置中
<link type="text/css" rel="stylesheet" href="/zzjqgrid/web/1/zz.css" />

有以下CSS规则

table {
    ...
    display: table-cell;
    ...
}

(而不是display: table;)。这样的全球环境非常糟糕。它打破了寻呼机的布局,width:100%不适用于寻呼机表。您应该删除它或者至少为某些特定的CSS类设置设置。

关于日期格式化程序的问题。我严格建议您使用"{0:yyyyMMdd}"。您可以使用包含分隔符Date.ToString("yyyy-MM-dd")的{​​{1}}。它是标准的ISO日期格式。您应该在案例中从-删除srcformat

最后的建议:

  • 我建议您使用formatoptions
  • height: "auto"移除beforeSenderror属性,然后使用ajaxGridOptionsloadBeforeSend
  • 我建议您查看loadError。应删除所有colModel属性,也应删除默认值为indexsortable: true的属性,应从sorttype: 'text'中删除align: 'center'等常见设置,您应该使用colModel jqGrid选项(请参阅the old answer)。
  • 您应永远不要使用包含空格的cmTemplate: {align: 'center'} name (例如colModelname: 'Stock Number')。 jqGrid使用name: 'Stock Date'生成网格上某些内部元素的name。 HTML5不允许在id中使用空格。
  • 您应该在id的末尾删除多个绝对不需要的.trigger("reloadGrid")来电。
  • 我建议您使用Webpage_Onload选项,并使用pager: truenavGrid的寻呼机ID删除参数。我建议您阅读the wiki article并使用更多简短形式的选项navButtonAdd并指定jqGrid的navGrid参数内的选项。
  • 我建议您更改从服务器返回的JSON数据的格式,并更改navOptions的{​​{1}}属性。您目前在每列中使用jsonmap 等属性。如果您要对数据格式进行细微更改,则必须修改colModel中的所有jsonmap: function (o) { return o.cell[3]; }属性。顺便说一下,在使用jsonmap的情况下,服务器响应的colModelpagerecords属性将被忽略。因此,可以从服务器返回项目数组。