2

Javascript 関数でテレリック 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

あなたが探しているのは、行にバインドされた基になるデータ項目にアクセスする方法です。Grid クライアント側 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 に答える