這可能是一個非常簡單的問題,但我無法弄清楚。我的代碼在我的窗體構造函數這個小行:如何讓GridView顯示其數據源的父類字段
public FrmMain()
{
InitializeComponent();
gdcSVN.DataSource = _presenter.GetAllFiles();
}
public List<IVersionedFile> GetAllFiles()
{
List<IVersionedFile> all = new List<IVersionedFile>();
all.AddRange(_addedFiles);
all.AddRange(_removedFiles);
all.AddRange(_updatedFiles);
return all;
}
gdcSVN
是DevExpress的GridControl。 GetAllFiles
返回List<IVersionedFile>
,其被定義如下:
public interface IUserFile
{
string Name { get; }
string Path { get; }
}
public interface IVersionedFile : IUserFile
{
long Revision { get; }
SvnStatus Status { get; }
}
class VersionedFile : IVersionedFile
{
#region constructors
protected VersionedFile(string name, string path, long revision, SvnStatus status)
{
Name = name;
Path = path;
Revision = revision;
Status = status;
}
public VersionedFile(string name)
: this(name, String.Empty, -1, SvnStatus.Zero)
{}
public VersionedFile(string name, string path)
: this(name, path, -1, SvnStatus.Zero)
{}
public VersionedFile(string name, string path, long revision)
: this(name, path, revision, SvnStatus.Zero)
{}
#endregion
#region IVersionedFile members
public string Name { get; set; }
public string Path { get; set; }
public long Revision { get; set; }
public SvnStatus Status { get; set; }
#endregion
}
當運行的形式,我只有2列在我GridControl-- Revision
Status
和。如何讓網格顯示IUserFile接口的繼承屬性?
編輯澄清;我想讓我的網格顯示我的2個接口之間的所有4個屬性。 Name
,Path
,Revision
和Status
。目前,它只顯示IVersionedFile
的最後兩個。
我不確定,但我認爲你應該通過你的類中的公共屬性獲取器公開繼承的屬性。例如,如果你有一個類型爲字符串和名字爲FirstName的繼承屬性,你應該添加公共字符串FirstName {get {return this.FirstName;}} – Christos
@Christos我不確定你的意思。是不是我在IVersionedFile成員區域內的第二段代碼'段落'底部正在做什麼? – sab669
@ sab669實際的問題是什麼?你想在你的網格中顯示哪些字段/屬性? –