привязать текстовое поле к элементу объекта, который, в свою очередь, является членом какого-либо другого объекта, список которого является источником данных - PullRequest
1 голос
/ 08 ноября 2011
.
.
List<DailyEntry> dailyEntries = BAL.getDailyEntriesToBind();

txtSite.DataBindings.Add("Text", dailyEntries, "SiteName");
.
dataRepeater1.DataSource = dailyEntries;
.
.

, где DailyEntry и Site равны

class DailyEntry
{
    public int ID { get; set; }
    public DateTime Date { get;set; }
    public Site Site { get; set; }
    public decimal Amount { get; set; }
    public string Remarks { get; set; }
}

и

class Site
{
    public int SiteID { get; set; }
    public string SiteName { get; set; }
}

теперь txtSite не получает значение.

Я знаю, потому что SiteName не является прямым членом DailyEntry .. Я также пытался использовать Site.SiteName в качестве дата-метра для метода Textbox.Databindings.Add, он не работал

на самом деле текстовое поле, к которому я хочу привязаться, находится на переносчике данных. поэтому я не могу использовать как dailyEntries[0].Site в качестве источника данных для Textbox.Databindings.Add метода

в чем решение?

EDIT: Я также попытался переопределить toString() метод для Site класса следующим образом

class Site
{
    public int SiteID { get; set; }
    public string SiteName { get; set; }

    public override string ToString()
    {
        return SiteName;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...