我正在将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。