2012-07-04 174 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

相關問題