Я связываю IList с GridView. IMyInterface выглядит как
public interface IMyInterface: IHasTotalHours, IHasLines
{
DateTime GoalStartDate { get; set; }
DateTime GoalEndDate { get; set; }
}
Я привязываю экземпляр к Grid следующим образом:
IList<IMyInterface> instance= GetMyData();
myGrid.DataSource = instance;
myGrid.DataBind();
При привязке этого к сетке единственными элементами, которые отображаются в сетке, являются прямые члены IMyInterface: GoalStartDate и GoalEndDate.
Почему это? Как получить сетку для отображения элементов других интерфейсов, которые она наследует?
Обновление
Унаследованные интерфейсы определяют простые свойства данных, такие как
public interface IHasTotalHours
{
string Description { get; set; }
int Hours{ get; set; }
}
public interface IHasLines
{
double TotalLines { get; set; }
double LinesPerHour { get; set; }
}
Существует класс, который реализует IMyInterface:
public class MyClass : IMyInterface
{
public string Description { get; set; }
public int Hours { get; set; }
public double TotalLines { get; set; }
public double LinesPerHour { get; set; }
public DateTime GoalStartDate { get; set; }
public DateTime GoalEndDate { get; set; }
}
Они приводятся как IMyInterface и возвращаются в списке, который я привязываю к GridView.