0

我需要添加最后一列“action”,并在单元格 href 中设置<a href="/?page=@Id">details</a> 如何在 devexpress 中执行此操作?

@Html.DevExpress().GridView(
    settings =>
    {
        settings.Name = "gvGrouping";

        settings.Columns.Add("Id");//not visible
        settings.Columns.Add("Service", "Сервис");

    settings.Columns.Add("Action", "Action");//I have error

    }
    )
4

2 回答 2

0

我通常是怎么做的(不知道这是否是最好的方法,但它确实有效):

 settings.Columns.Add(column =>
                                {
                                 column.FieldName = "Id";
                                 column.Caption = " ";
                                 column.Settings.AllowAutoFilter = DefaultBoolean.False;
                                 column.Settings.AllowDragDrop = DefaultBoolean.False;
                                 column.Settings.AllowSort = DefaultBoolean.False;
                                });
 settings.CustomColumnDisplayText = (sender, e) =>
                                          {
                                                if (e.Column.FieldName == "Id")
                                                {
                                                     e.DisplayText = // put your actionlink here                                                                                       
                                                }
                                          };

这使您能够在其中放置您喜欢的任何内容(图像、URL 等)。您可以通过为另一个属性调用 'e.Value' 或 args.GetFieldValue("") 来访问 Id 的值。或者您可以只访问模型(Model.blabId)..

希望这可以帮助

更新:

我不知道你是如何构建你的网格的,但它应该是这样的(我认为你调用网格的方式有问题,这就是你得到错误的原因):

 Html.DevExpress().GridView(settings =>
    {
       //all your settings stuff in here
    }).Bind(Model.YourList).Render();
于 2012-07-04T06:07:01.937 回答
-1

您也可以使用 SetDataItemTemplateContent

@Html.DevExpress().GridView(
    settings =>
    {
       var actionCol = settings.Columns.Add("Action");
       actionCol.SetDataItemTemplateContent(() =>
       { 
          Html.ActionLink("Action", "SomeAction", "SomeController", new { myParam =    Model.Param });
    } );
于 2012-07-04T06:10:24.270 回答