簡體   English   中英

如何從Syncfusion MVC Grid中的選定行獲取列值

[英]How to get column value from selected row from Syncfusion MVC Grid

我的應用程序ASP.NET MVC 5即時通訊使用Syncfusion控件。

這是我的觀點:

@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>

我的問題是如何從選定行獲取UserName並將其粘貼到ActionLink中。

您可以在getSelectedRecords方法中獲取所選信息。 但是當在網格中啟用多選時,它將返回所有選定的記錄。

因此,要獲取當前選定的行數據,只需從rowSelected事件的arguments中訪問它rowSelected

function onRowSelected(args) {
    var userName = args.data.UserName;

    //Do something.
};

參考鏈接: http//help.syncfusion.com/js/api/ejgrid#events : rowselected

在網格定義中添加

.ClientSideEvents(evt => evt.RowSelected("onRowSelected"))

並添加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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM