2

我想从 Javascript 函数中的 Telerik mvc 网格中获取行 [0] 的列 [0] 的值。我想知道怎么做?

   @{
    Html.Telerik().Grid<StationEvaluation>().Name("ManagementGrid")
    .DataKeys(dataKeys => dataKeys.Add(o => o.StationEvaluationID)).Groupable().
    Filterable().Pageable().Sortable().Localizable("fa-IR").
    DataBinding(dataBinding => dataBinding.Ajax()

            ...
            columns.Bound(o => o.StationEvaluationId);
            ...
    }

<script type="text/javascript">
function MyFunction()
{
// I want to get the value here!
}
</script>
4

2 回答 2

3

还有更简单的方法可以做到这一点。

所有 Telerik MVC 小部件都有明确的客户端 API。这是 Grd-Client Side API 文档的链接:

http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-client-api-and-events.html

您正在寻找的是一种访问绑定到行的基础数据项的方法。网格客户端 API 公开了网格的 dataItem 属性。

假设您想要将底层数据对象绑定到第一行 - 您将编写以下代码来访问它:

var grid = $("#<ID of the Grid").data("tGrid");
// get the first table row
var tr = $("#Grid tbody tr:eq(1)"); // use eq(1) if the grid is scrollable or eq(0) if not to get the first row
// get the associated data item
var dataItem = grid.dataItem(tr);

现在 dataItem 代表底层数据对象。

希望这可以帮助。

于 2013-02-05T17:48:04.650 回答
1

我找到了答案:

var mastergrid = $('#ManagementGrid');
var mypreciousvalue = mastergrid[0].childNodes[2].childNodes[2].childNodes[0].childNodes[0].innerText;

网格的渲染 HTML 是这样的:

<div class="t-widget t-grid" id="ManagementGrid">
  <div class=t-toolbar t-grid-toolbar t-grid-top">
       ...</div>
  <div class="t-grouping-header">
       ...</div>
  <table cellspacing="0">
      <colgroup>...</colgroup>
      <thead class="t-grid-header">...</thead>
      <tbody>
         <tr>
            <td> **MY PRECIOUS VALUE** <td>
            ...(other cells)
         </tr>
         ... (other rows)
      </tbody>
  <div class="t-grid-pager t-grid-bottom">
       ...</div>
 </div>
于 2013-02-04T07:34:16.687 回答