jqgrid:几个问题-矩阵显示

jqgrid:几个问题-矩阵显示,jqgrid,jqgrid-asp.net,Jqgrid,Jqgrid Asp.net,我将矩阵数据存储在下表中: 矩阵维度-MatrixId、NoOfRows、NoOfCol MatrixValues-MatrixId,RowNo,ColNo,Value 如何使jqGrid动态获取行数和列数 并在矩阵中显示序列化数据?是否有一种直接的方法,或者我必须为循环实现,以便将数据上传到矩阵中 我可以将行显示为列,将列显示为行吗(这样可以使列标题垂直对齐) 我可以只启用内联编辑并禁用基于表单的编辑吗?我刚刚回答了另一个问题,其中描述了如何创建具有动态列数的网格(在jqGrid中,行数始

我将矩阵数据存储在下表中:

  • 矩阵维度-
    MatrixId、NoOfRows、NoOfCol
  • MatrixValues-
    MatrixId,RowNo,ColNo,Value
如何使
jqGrid
动态获取行数和列数 并在矩阵中显示序列化数据?是否有一种直接的方法,或者我必须为循环实现
,以便将数据上传到矩阵中

我可以将行显示为列,将列显示为行吗(这样可以使列标题垂直对齐)

我可以只启用内联编辑并禁用基于表单的编辑吗?

我刚刚回答了另一个问题,其中描述了如何创建具有动态列数的网格(在jqGrid中,行数始终是动态的)。在我看来,这样你可以显示任何矩阵。在您的情况下,您可能可以使代码更简单,因为您可以使用通用列名,如“1”、“2”等(或“Col.1”、“Col.2”等),等等

我修改了代码,使其使用数组数组(矩阵)而不是具有命名属性的对象上的数组。因此,jqGrid将如下所示:

或者这个:

取决于输入的
JSON
数据

完整的演示可以找到。您可以在下面找到演示的完整JavaScript代码:

var mygrid=jQuery(#list”),
CMTXT模板={
宽度:40,
对齐:“居中”,
可排序:false,
隐藏:真的
},currentTemplate=cmTxtTemplate,i,
cm=[],maxCol=30,dummyColumnNamePrefix=“”,/“Col.”,
clearShrinkToFit=函数(){
//保存shrinkToFit的原始值
var orgShrinkToFit=mygrid.jqGrid('getGridParam','shrinkToFit');
//设置shrinkToFit:false以防止收缩
//显示或隐藏后的网格列
jqGrid('setGridParam',{shrinkToFit:false});
返回orgShrinkToFit;
},
setGridWidthAndRestoreShrinkToFit=函数(orgShrinkToFit,宽度){
//恢复shrinkToFit的原始值
jqGrid('setGridParam',{shrinkToFit:orgShrinkToFit});
jqGrid('setGridWidth',width);
},
dummyTestRegex=new RegExp(dummyColumnNamePrefix+“(\\d)+”),
计数器=1;
//添加虚拟隐藏列。所有列都具有相同的模板
对于(i=0;i0)){
//有些不对劲的东西需要退货
返回obj.page;
}
//查找第一个伪列的索引
//在colModel中。如果我们使用行数:true,
//多重选择:真或子栅格:真附加
//将在开头插入列
//科尔曼模型
iFirstDummy=-1;

对于(i=0;i还有一个问题-行/列值来自某个表,因此这些值也需要编辑。这也可以做到吗。@harish:jqGrid的归档问题与编辑无关。您可以使用您需要的任何编辑模式。当然,您应该在服务器端编写一些附加代码,因为您的数据库表的非常奇特的组织。