9

我编写此代码用于在 asp.net mvc 中使用剑道 Ui 创建网格

  @(Html.Kendo().Grid(Model)
      .Name("Grid")

      .Columns(columns =>
                   {
                       columns.Bound(p => p.Id).Groupable(false).Visible(false);
                       columns.Bound(p => p.BrandName);
                       columns.Bound(p => p.BrandAbbr);
                       columns.Bound(p => p.SrcImage);

                       columns.Command(command => command.Custom("ViewDetails").Click("showDetails"));
                      })

    .ToolBar(toolbar =>
                    {
                        toolbar.Custom().Action("Create","Users").Text("add");                          
                    }
        )
        .Groupable()
        .Pageable()
        .Sortable()
.Scrollable()

        .Filterable()
        .HtmlAttributes(new {style = "height:500px;"})
        .Selectable(selectable => selectable
            .Mode(GridSelectionMode.Multiple)
            .Type(GridSelectionType.Row))  

        .DataSource(dataSource => dataSource
                                    .Server()                           
                                    .Model(model => model.Id(item => item.Id))

      ))   

我想当用户点击ViewDetails警报BrandId值列时,请帮助我。谢谢大家

4

2 回答 2

15

你只需要添加javascript函数。

<script type="text/javascript">
    function showDetails(e) {
        e.preventDefault();
        var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
        alert(dataItem.Id);  //considering Id = BrandId
    }
</script>

这是剑道网格自定义命令的演示

于 2013-06-24T12:08:16.543 回答
5

我也成功地使用了这个:

<script type="text/javascript">

function showDetails(e)
{
e.preventDefaults();
 var grid = $("#Grid").data("kendoGrid");

     var selectedItem = grid.dataItem(grid.select());


//you can get the value of any column  after that

alert("Brand Id is : " + selectedItem.Id);
alert("Brand Name is: " + selectedItem.BrandName);

}

</script>
于 2014-02-19T18:05:18.487 回答