2012-07-04 138 views

回答

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                      
               } 
              }; 

这让你把whetever你喜欢在那里的能力(图片,网址等)。您可以通过为另一个属性调用“e.Value”或args.GetFieldValue(“”)来访问Id的值。或者,你可以访问模型(Model.blabId)..

希望这有助于

UPDATE:

我不知道你是如何构建你的网格,但是这是应该如何是(我觉得有什么问题你打电话电网的方式,这就是为什么你得到错误):

Html.DevExpress().GridView(settings => 
    { 
     //all your settings stuff in here 
    }).Bind(Model.YourList).Render(); 
+0

我得到的错误'编译错误 编译器错误信息:CS1660:无法转换lambda表达式键入“DevExpress.Web.Mvc.GridViewSettings”,因为它不是type' – Mediator

-1

你也可以使用SetDataItemTemplateContent

@Html.DevExpress().GridView(
    settings => 
    { 
     var actionCol = settings.Columns.Add("Action"); 
     actionCol.SetDataItemTemplateContent(() => 
     { 
      Html.ActionLink("Action", "SomeAction", "SomeController", new { myParam = Model.Param }); 
    }); 
+0

委托我得到错误编译错误 编译器错误消息:CS1660:无法将lambda表达式转换为键入“DevExpress.Web.Mvc.GridViewSettings”,因为它不是委托类型 – Mediator

+0

我编辑了代码。列名称必须更改。看看它是否有帮助 – Anand

相关问题