【问题标题】:changing kendo grid command buttons更改剑道网格命令按钮
【发布时间】:2012-10-11 15:49:42
【问题描述】:

我在 Kendo Grid 中成功创建了按钮,如下所示,这些按钮实际上是在 <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 Grid Plugin 渲染这些命令后动态更改它们?

【问题讨论】:

    标签: jquery asp.net kendo-ui


    【解决方案1】:

    尝试template 而不是command

    columns: [
        // ...
        { template: '<a href="epage.aspx?e=${ID}" target="_blank">ViewEvent</a>', title: 'View Event', width: 60 }
    ]
    

    【讨论】:

      【解决方案2】:

      这是我的猜测:

      此行中“this”的用法不正确:

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

      这里指的是一个链接元素。

      问候

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多