jqgrid的数据动态排列

jqgrid的数据动态排列,jqgrid,dynamic-columns,Jqgrid,Dynamic Columns,我无法根据自定义列动态排列单元格数据。在单元格集合中,我希望按照列顺序排列单元格值。 列为:[COLUMN10,COLUMN3,COLUMN1,COLUMN7,COLUMN9](这些来自数据库),列顺序将动态更改。在这种情况下,我无法根据列的顺序动态排列单元格值。请找到我在代码中使用的代码快照 jsonData = new { total = totalPages, page,

我无法根据自定义列动态排列单元格数据。在单元格集合中,我希望按照列顺序排列单元格值。
列为:[COLUMN10,COLUMN3,COLUMN1,COLUMN7,COLUMN9](这些来自数据库),列顺序将动态更改。在这种情况下,我无法根据列的顺序动态排列单元格值。请找到我在代码中使用的代码快照

jsonData = new
                {
                    total = totalPages,
                    page,
                    records = totalRecords,
                    rows = (
                        from Details in ListData
                        select new
                        {
                            i = 1,
                            cell = new string[] { 
                                              Details.COLUMN10,
                                              Details.COLUMN3,
                                              Details.COLUMN1,
                                              Details.COLUMN7,
                                              Details.COLUMN9
                                }
                        }
                        ).ToArray()

请引导并让我知道我可以继续进行的流程。

对不起,不清楚您需要什么。你写过“排列单元格值”。你是什么意思?例如,有水平和垂直排列。您写了“列序列将动态更改”。谁更改列(用户、后端代码等)?会有哪些变化:顺序、数据类型、对齐方式(从左对齐到右对齐)等等?您发布的代码可能也不正确。什么是
i=1
?如果
i
,您是指
id
?为什么所有项目都有相同的id?ID必须是唯一的?您的JavaScript代码在哪里?让我更清楚地解释查询。1.表中有10列,即第1列、第2列、…、第10列。2.用户将选择将在网格中显示的列。同时,用户将选择列的顺序。例如,用户选择了列3、列10、列5、列6、列1。3.此序列基于用户保存在数据库中。4.我已经按照顺序排列了网格标头模型和标头名称,即第3列、第10列、第5列、第6列和第1列。5.但我需要根据列顺序添加单元格数据。根据我的说法,上面linq查询中排列的单元格数据我建议您只返回
ListData.ToArray()
。返回的数据将是
[{“COLUMN1”:“v1_1”,“COLUMN2”:“v1_2”,…,“COLUMN1”:“v1_10”},{“COLUMN1”:“v2_1”,“COLUMN2”:“v2_2”,…,“COLUMN10”:“v2_10”},…]
并使用jqGrid的
loadonce:true
选项。在下一步中,您可以将返回数据的格式更改为
{“columnVisibility”:{“COLUMN1”:true,“COLUMN2”:false,,,,,,,“COLUMN10”:true},“rows”:[{“COLUMN1”:“v1_1”,“COLUMN2”:“v1_2”,“COLUMN10”:“v1_2”,…,“COLUMN10”:“v2_10”}
。您将在显示数据之前将列设置为隐藏。我有两种情况:情况1:我有分页。每次从数据库加载数据时。因此无法设置loadonce:true。案例2:我必须更改列的顺序,如第3列、第1列和第4列。不能同时解决不同的案例。你应该从最常见的情况开始。我建议您从
loadonce:true
场景开始,只有在真正需要并且更好地理解jqGrid之后,才实施下一个场景。第一个非常重要的问题是:总共需要显示多少行(100、1000、10000、1000000或更多)?