获取隐藏的igGrid列的单元格值

时间:2014-05-22 10:57:57

标签: javascript asp.net-mvc infragistics ignite-ui iggrid

我有一个带有以下列的Infragistics网格: -

        @(Html.Infragistics().Grid(Model.Rows.AsQueryable())
        .ID("vmClientBankAccounts")
        .Width("100%")
        .Caption("Bank Account List")
        .PrimaryKey("AccountNo")
        .AutoGenerateColumns(false)
        .RowTemplate("<td>${Id}</td><td><a class='accountKey'>${AccountNo}</a></td><td>${Name}</td><td>${AccountType}</td><td>${Status}</td><td>${BranchName}</td><td>${BranchIBT}</td>")
        .Columns(columns =>
            {
                columns.For(x => x.Id).DataType("string").Hidden(true);
                columns.For(x => x.AccountNo).DataType("int").Width("140px");
                columns.For(x => x.Name).DataType("string");
                columns.For(x => x.AccountType).DataType("string").Width("100px");
                columns.For(x => x.Status).DataType("string").Width("110px");
                columns.For(x => x.BranchName).DataType("string").Width("260px");
                columns.For(x => x.BranchIBT).DataType("string").Width("110px");
            })
        .Features(features =>
            {
                features.Paging().PageSize(10).PrevPageLabelText("Previous").NextPageLabelText("Next");
                features.Selection().Mode(SelectionMode.Row).MultipleSelection(false);
            })
        .DataBind()
        .Render()
    )

我有点击网格中所选行的javascript,如下所示: -

<script type="text/javascript">
$(document).ready(function () {

    $('#vmClientBankAccounts td .accountKey').click(function (e) {

        $.ajax({
            type: 'GET',
            url: '/Client/ClientBankAccount',
            data: { bankAccountNo: $(e.target).text() },
            success: function (result) { $('#clientContainer').html(result); }
        });
    });

 });

我需要获取名为&#39; Id&#39;的第一列的单元格值。这是一个隐藏的专栏。

使用以下igGrid方法,我可以获取任何显示的值,但不知道如何获取隐藏的列值。

        var rowIndex = $("#vmClientBankAccounts").igGrid("selectedRow").IdCellValue;
        var IdCellValue = $($("#vmClientBankAccounts").igGrid("cellAt", 0, rowIndex)).text();

我很感激这方面的任何帮助,并提前感谢你。

2 个答案:

答案 0 :(得分:2)

正如Petar上面所做的那样,这完全符合要求。 我通过在最后一行中引用 .Records 对其建议进行了一处更改,如下所示,因为它在没有它的情况下返回空引用。

var rowIndex = $("#vmClientBankAccounts").igGrid("selectedRow").index;
var dataSource = $("#vmClientBankAccounts").igGrid("option", "dataSource");
var hiddenIdValue = dataSource.Records[rowIndex].Id;

答案 1 :(得分:1)

在igGrid中,没有为隐藏列呈现html,因此可以通过数据源直接访问该值 - 通过行索引或行ID(如果可用)。

例如,要在这种情况下查找所选行的Id值,可以使用以下内容:

var rowIndex = $("#vmClientBankAccounts").igGrid("selectedRows")[0].index;
var dataSource = $("#vmClientBankAccounts").igGrid("option", "dataSource");
var hiddenIdValue = dataSource[rowIndex].Id;