2012-09-09 81 views
0

讀取Lib.Web.Mvc上DataEvents的自定義實現的this post後。 我需要創建類型列表框的列,像Lib.Web.Mvc with edittype select and multiple true

[Required] 
[Display(Name = "Actions")] 
[JqGridColumnEditable(true, "Actions", "Home", EditType = JqGridColumnEditTypes.Select)] 
[JqGridColumnEditOptions.Multiple=true] 
public string Actions { get; set; } 

誰能幫助我或者給我一個參考。我真的不知道該怎麼做。

回答

1

你也可以繼承JqGridColumnEditableAttribute並通過HtmlAttributes集合添加Multiple屬性:

public class JqGridColumnMultipleEditableAttribute : JqGridColumnEditableAttribute 
{ 
    public bool Multiple { get; set; } 

    protected override IDictionary<string, object> HtmlAttributes 
    { 
     get 
     { 
      if (Multiple) 
       return new Dictionary<string, object>() { { "multiple", "multiple" } }; 
      else 
       return null; 
     } 
    } 

    public JqGridColumnMultipleEditableAttribute(bool editable) 
     : base(editable) 
    { 
     Multiple = false; 
    } 

    public JqGridColumnMultipleEditableAttribute(bool editable, string dataUrlRouteName) 
     : base(editable, dataUrlRouteName) 
    { 
     Multiple = false; 
    } 

    public JqGridColumnMultipleEditableAttribute(bool editable, string dataUrlAction, string dataUrlController) : 
     this(editable, dataUrlAction, dataUrlController, null) 
    { } 

    public JqGridColumnMultipleEditableAttribute(bool editable, string dataUrlAction, string dataUrlController, string dataUrlAreaName) 
     : base(editable, dataUrlAction, dataUrlController, dataUrlAreaName) 
    { 
     Multiple = false; 
    } 
} 

您可以使用這種方式創建的屬性是這樣的:

[Required]  
[Display(Name = "Actions")]  
[JqGridColumnMultipleEditable(true, "Actions", "Home", EditType = JqGridColumnEditTypes.Select, Multiple=true)]  
public string Actions { get; set; } 

這將導致的jqGrid渲染列表框(你可能需要做一些造型才能看起來很好)。

+0

非常感謝您的回答,您真的是最棒的! – Guillermo

+0

我們是否可以添加一個新的searchableAttribute,以類似的方式從datacontext獲取數據並返回一個字符串。我想填充JqGridColumnSearchType.Select,並需要填寫dbcontext.mytypes中的值。 –

+1

@FarrukhSubhani請通過電子郵件與我聯繫或在這裏開始一個線程:http://tpeczek.codeplex.com/discussions。 SO評論不是討論的最佳場所;) – tpeczek

相關問題