[英]How to get column value from selected row from Syncfusion MVC Grid
Im My application ASP.NET MVC 5 im using Syncfusion controls. 我的应用程序ASP.NET MVC 5即时通讯使用Syncfusion控件。
Here is my view: 这是我的观点:
@using Reporter.Models
@model List<UsersListViewModel>
@(Html.EJ().Grid<object>("FlatGrid")
.Datasource(Model)
.AllowFiltering()
.FilterSettings(d => d.FilterType(FilterType.Menu))
.AllowSorting()
.ToolbarSettings(toolBar => toolBar.ShowToolbar().ToolbarItems(items =>
{
items.AddTool(ToolBarItems.ExcelExport);
}))
.Columns(col =>
{
col.Field("OrderNumber").HeaderText("Lp.").TextAlign(TextAlign.Left).Width(15).AllowFiltering(false).Add();
col.Field("UserName").HeaderText("Nazwa użytkownika").Width(50).Add();
col.Field("CanReadReports").HeaderText("Dostęp do raportów").Width(40).AllowSorting(false).HeaderTextAlign(TextAlign.Center).Add();
col.Field("IsAdministrator").HeaderText("Administrator").Width(40).AllowSorting(false).Add();
})
.Mappers(map => map.ExportToExcelAction("Account/UserListExportToExcel"))
.AllowSelection()
.SelectionType(SelectionType.Single)
)
<hr/>
<p style="text-align: justify">
@Html.ActionLink("Nowy użytkownik", "Register", "Account",
null,
new { @class = "btn btn-default" }
)
@Html.ActionLink("Usuń użytkownika", "Register", "Account",
new {user = "UserNameToRaplace"}, //here i want UserName from selected row
new { @class = "btn btn-default" }
)
@Html.ActionLink("Zmień hasło", "Manage", "Account",
new { user = "UserNameToRaplace"},
new { @class = "btn btn-default" }
)
</p>
And my problem is how to get UserName from selected row and paste it in ActionLink. 我的问题是如何从选定行获取UserName并将其粘贴到ActionLink中。
You can get the selected information in the getSelectedRecords
method. 您可以在getSelectedRecords
方法中获取所选信息。 But it will return all the selected records when multi-selection is enabled in grid. 但是当在网格中启用多选时,它将返回所有选定的记录。
So to get the current selected row data, you can simply access it from the arguments
of the rowSelected
event. 因此,要获取当前选定的行数据,只需从rowSelected
事件的arguments
中访问它rowSelected
。
function onRowSelected(args) {
var userName = args.data.UserName;
//Do something.
};
Reference links: http://help.syncfusion.com/js/api/ejgrid#events:rowselected 参考链接: http : //help.syncfusion.com/js/api/ejgrid#events : rowselected
In grid definition add 在网格定义中添加
.ClientSideEvents(evt => evt.RowSelected("onRowSelected"))
and add javascript function 并添加javascript函数
<script>
function onRowSelected(args) {
var result = this.getSelectedRecords();
var userName = result[0].UserName;
var deleteUserLink = $("#DeleteUser").attr('href');
var changePassUserLink = $('#ChangePass').attr('href');
var newDeleteUserLink = deleteUserLink.replace("UserNameToRaplace", userName);
var newChangePassUserLink = changePassUserLink.replace("UserNameToRaplace", userName);
var deleteUserLink = $("#DeleteUser").attr('href', newDeleteUserLink);
var changePassUserLink = $('#ChangePass').attr('href', newChangePassUserLink);
};
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.