1

私は剣道グリッドでボタンを正常に作成しています、以下のように、ボタンは実際にでレンダリングされます<a href="#" onClick="showDetails ..... >

    columns: [
      { field: "Title", width: "90px", title: "Event<br />Name" },
      { field: "StartDate", title: "Event<br />Date", width: 35 },
      { field: "Keywords", title: "Event<br />Type", width: 35 },
      { field: "TotalDollars", title: "Total<br />Collected", width: 20 },
      { field: "TotalTransactions", title: "# of<br />Trans.", width: 20 },
      { field: "TotalAttending", title: "# of<br />Attending", width: 30 },
      { field: "SocialViews", title: "# of<br />Views", width: 30 },
      { command: { text: "ManageEvent", click: showDetails }, title: " Edit Event", width: "60px" },
      { command: { text: "ViewEvent", click: showEvent }, title: " View Event", width: "60px" }
    ]

今、私はそれらのいくつかの属性を変更したいのですが、関数に変更を加えるとうまくいきshowDetails()ますが、それはちょっと厄介なようです、次にクリック関数で、さらにコードを実行する直前に属性を変更します。

これは動作します

            function showEvent(e) {
            $('.k-grid-ViewEvent').attr('target', '_blank');                
            var event = this.dataSource.getByUid(this.select().data("uid"));
            var id = event.ID;
            window.location = "epage.aspx?e=" + id;
            }     

しかし、これはそうではありません。グリッドがレンダリングされるのを待つために、そこにTimeOutを配置しようとしましたが、それでも何も起こりません。

            $(function () {
            setTimeout(
            $.each('.k-grid-ViewEvent', function () {
                $(this).attr('target', '_blank');
                var event = this.dataSource.getByUid(this.select().data("uid"));
                var id = event.ID;
                $(this).attr('href', id);
            }), 4000);
          });

誰もが、できればjQueryでどのように行うかを知っていますが、私は実際にはどのように気にしません。Kendoグリッドプラグインでレンダリングされた後、これらのコマンドを動的に変更できますか?

4

2 に答える 2

2

template代わりに試してくださいcommand

columns: [
    // ...
    { template: '<a href="epage.aspx?e=${ID}" target="_blank">ViewEvent</a>', title: 'View Event', width: 60 }
]
于 2012-10-12T06:26:37.553 に答える
0

これは私の推測です:

'this'の使用法はこの行では正しくありません:

var event = this.dataSource.getByUid(this.select().data("uid"));

ここではリンク要素を参照しています。

よろしく

于 2012-10-12T04:54:09.557 に答える