Когда у меня есть только стандартный класс и я хочу изменить порядок столбцов, я использую аннотации:
[Display(Order=2)]
public string str1 { get; set }
[Display(Order=1)]
public string str2 { get; set; }
Я только что попробовал это с производными классами:
public class BaseClass
{
[Display(Order=1)]
public string str1 { get; set; }
[Display(Order=3)]
public string str2 { get; set; }
}
public class DerivedClass : BaseClass
{
[Display(Order=4)]
public string str3 { get; set; }
[Display(Order=2)]
public string str4 { get; set; }
}
Мои столбцы сетки были: str1 str4 str2 str3, как и ожидалось.
[EDIT] Необходимо добавить объявление использования: using System.ComponentModel.DataAnnotations;
для использования [Display ...] Мне действительно нравится работать как с gridview, так и сDataForm.Большинство людей ненавидят, ненавидят форму данных.Потребовалось много разочаровывающих часов, чтобы понять, как заставить его работать в наших LOB-приложениях, но теперь это невероятно мощный и быстрый инструмент для пользовательского интерфейса.
Также - если вы не знакомы с аннотациями данных, они абсолютно рад.Вы можете установить такие атрибуты, как [Обязательный (true)], [Display (Name = "String 3")], [StringLength (3, ErrorMessage = "Это поле не может превышать 3 символа в длину")], Range (0,10, ErrorMessage = "Должно быть 0-10)")] и т. Д. И т. Д. И т. Д. Ошибки валидации автоматически всплывают до пользовательского интерфейса.Они серьезно сэкономили время в нашем процессе разработки.[/ EDIT]