Pri*_*tel 2 c# asp.net jqgrid jqgrid-asp.net
我正在使用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,所以我不清楚我是如何做到这一点的.任何人都可以指出我正确的方向.欢迎任何建议.
谢谢
首先,您应该选择符合您要求的最佳回调.通常它会onSelectRow,但在其他一些情况下,另一种回调是onCellSelect,beforeSelectRow或ondblClickRow更好.
在回调中,您获得rowid(行id或<tr>行)作为第一个参数.您可以使用getCell,getRowData或getLocalRow获取某些单元格的包含.例如
onSelectRow: function (id) {
// get data from the column 'userCode'
var userCode = $(this).jqGrid('getCell', 'userCode');
alert(userCode);
}
Run Code Online (Sandbox Code Playgroud)
要么
onSelectRow: function (id) {
var localRowData = $(this).jqGrid('getLocalRow');
alert(localRowData.userCode);
}
Run Code Online (Sandbox Code Playgroud)
如果jqGrid具有本地数据(您使用datatype: 'local'或datatype: 'json'与之结合使用的远程数据类型loadonce: true),则最后一种方法是最好的.
更新:在评论中的一些帖子和问题文本的更新后,我看到你使用jqSuite for ASP.NET WebForms或基于jqGrid的其他商业产品而不是免费的开源JavaScript库jqGrid.我不使用jqSuite,也不知道如何在jqSuite中实现JavaScript回调.
我可以建议你使用新的jqGrid 4.3.2功能:jQuery like events.你能做的就是代码
var $grid = jQuery("#<%= ModifyAccountUserDetailsjqGrid.ClientID %>");
$grid.bind("jqGridSelectRow", function (id) {
var userCode = $(this).jqGrid('getCell', 'userCode');
alert(userCode);
});
Run Code Online (Sandbox Code Playgroud)
要么
var $grid = jQuery("#<%= ModifyAccountUserDetailsjqGrid.ClientID %>");
$grid.bind("jqGridSelectRow", function (id) {
var localRowData = $(this).jqGrid('getLocalRow');
alert(localRowData.userCode);
});
Run Code Online (Sandbox Code Playgroud)
像"jqGridSelectRow"这样的事件的事件处理程序可以在创建网格之前或之后定义(但是在创建等于的<table>元素之后).此外,如果需要,您可以将其定义为一个事件处理程序 非常实用的是你想要在你的工程中为所有网格投射一些常见的动作.id<%= ModifyAccountUserDetailsjqGrid.ClientID %>
| 归档时间: |
|
| 查看次数: |
15874 次 |
| 最近记录: |