Google Analytics İzleme

06 Temmuz 2012

mvc 3 - telerik mvc extensions grid kontrolünde guid tipinde alanı filitreleme

Telerik grid'de guid tipinde foreign key alanları filitreleme özelliği desteklemiyor.
Hata vermektedir.

Bunun için alternatif olarak guid tipinde değeri viewmodel'de yeni bir property oluşturup bu guid tipini string türüne çevirmek işimizi çözmektedir.

Örnek:
ViewModel'imiz:

public class vmAllocationWithAllFieldsToIndexForGrid
    {
        [DisplayName("Allocation GUID")]
        public Guid AllocationGUID { get; set; }

        [DisplayName("Room Type GUID")]
        public Guid RoomTypeGUID { get; set; }

        // ishak.kulekci 06.07.2012 telerik guid tipli foreign key ile filitreleme yapamıyormuş, string'e çevirmek gerekiyormuş
        [DisplayName("Room Type GUID")]
        public string RoomTypeGUIDWhichConvertString {
            get { return this.RoomTypeGUID.ToString(); }
        }

...
}

View kodumuz:


Html.Telerik().Grid<vmAllocationWithAllFieldsToIndexForGrid>()
 .Name("Grid")

.Columns(
    columns =>
    {
       
        //columns.ForeignKey(r => r.RoomTypeGUID, (List<SelectListItem>)ViewBag.RoomTypeSelectList, "Value", "Text").ReadOnly().Title("Room Type").Width(100);
        columns.ForeignKey(r => r.RoomTypeGUIDWhichConvertString, (List<SelectListItem>)ViewBag.RoomTypeSelectList, "Value", "Text").ReadOnly().Title("Room Type").Width(100);

..
}
)

Kaynaklar:
http://www.telerik.com/community/forums/aspnet-mvc/grid/filtering-and-sorting-on-foreign-key-columns.aspx
http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-grid-troubleshooting.html#ServerError
http://demos.telerik.com/aspnet-mvc/grid/foreignkeycolumn





Hiç yorum yok: