我正在尝试在加载时永久更新jqgrid中的单元格.我知道我可以使用,setCell但只更新该页面的值.如果我没有明确地setCell为单元格执行另一个单元格,则返回页面,显示旧值.我也尝试过setRowData,但似乎做了同样的事情.我正在使用的loadonce方法是1)加载数据2)根据一些标准修改数据的几个值3)显示修改后的值.我正在使用loadonce不应该在这个会话中有永久修改单元格的方法吗?
更新:
放入我没有给出错误但是没有遍历所有数据的代码:
var set = 0;
....
gridComplete: function(data){
setData();
},
....
beforeRefresh: function(data){
set = 0;
},
....
function setData(){
if(set == 1) return;
... //create hash up here
var dataArray = jQuery("#grid").jqGrid('getGridParam', 'data');
var j = 1;
for (var rows in dataArray) {
var key = dataArray[rows].name;
dataArray[rows].level = hashTable[key];
j++;
}
alert(j);
}
Run Code Online (Sandbox Code Playgroud)
这不是循环遍历本地加载的数组中的所有项目.例如,如果页面大小设置为30,则alert(j)返回30,尽管我在本地加载了多少项目.但是,如果我刷新图形,则j是正确的数字.为什么getGridParam的行为在每种情况下都不同?
我正在使用Asp.Net/C#,在我的一个页面中,我jqGrid用来显示用户列表Admin,jqGrid包含以下列
这是我的标记
<cc1:JQGrid ID="ModifyAccountUserDetailsjqGrid" AppearanceSettings-Caption="User Details" runat="server" Width=800 DataSourceID=ModifyAccountDataSource>
<Columns>
<cc1:JQGridColumn HeaderText="User Code" ShowToolTip=false PrimaryKey=true DataField="UserCode"></cc1:JQGridColumn>
<cc1:JQGridColumn HeaderText="First Name" ShowToolTip=false DataField="FirstName"></cc1:JQGridColumn>
<cc1:JQGridColumn HeaderText="Middle Name" ShowToolTip=false DataField="MiddleName"></cc1:JQGridColumn>
<cc1:JQGridColumn HeaderText="Last Name" ShowToolTip=false DataField="LastName"></cc1:JQGridColumn>
<cc1:JQGridColumn HeaderText="Email" ShowToolTip=false DataField="Email"></cc1:JQGridColumn>
<cc1:JQGridColumn HeaderText="Contact No" ShowToolTip=false DataField="ContactNo"></cc1:JQGridColumn>
<cc1:JQGridColumn HeaderText="Division Name" ShowToolTip=false DataField="DivisionName"></cc1:JQGridColumn>
<cc1:JQGridColumn HeaderText="Last Name" ShowToolTip=false DataField="BranchName"></cc1:JQGridColumn>
</Columns>
</cc1:JQGrid>
Run Code Online (Sandbox Code Playgroud)
我需要的是,当管理员点击一行时,我想获得被点击的行的用户代码的值.我是新手jqGrid,所以我不清楚我是如何做到这一点的.任何人都可以指出我正确的方向.欢迎任何建议.
谢谢