RDLC (VS 2010) Как получить доступ к вложенным классам или массивам в DataObjects - PullRequest
3 голосов
/ 01 марта 2010

Как получить доступ к свойству TD.SubNumber и Numbers [] в RDLC? Я получаю #Error для моих выражений "= Fields! TD.Value.SubNumber" и "= Fields! Numbers.Value (0)".

public class TestData
{

    TestSubData tdata = new TestSubData();
    public TestSubData TD
    {
        get { return tdata; }
        set { tdata = value; }
    }

    string m_Description;
    public string Description
    {
        get { return m_Description; }
        set { m_Description = value; }
    }

    int[] m_Numbers = new int[12];
    public int?[] Numbers
    {
        get { return m_Numbers; }
    }


}
public class TestSubData
{
    int x;
    public TestSubData()
    { 
    }

    public int SubNumber
    {
        get { return x; }
        set { x = value; }
    }
}

1 Ответ

1 голос
/ 06 сентября 2011

Добавьте атрибут serializable для каждого из вложенных классов, после чего вы можете ссылаться с помощью таких выражений, как:

"= Fields! TD.Value.SubNumber"

[Serializable()]
public class TestData
{
    TestSubData tdata = new TestSubData();
    public TestSubData TD
    {
        get { return tdata; }
        set { tdata = value; }
    }

    string m_Description;
    public string Description
    {
        get { return m_Description; }
        set { m_Description = value; }
    }

    int[] m_Numbers = new int[12];
    public int?[] Numbers
    {
        get { return m_Numbers; }
    }
}

[Serializable()]
public class TestSubData
{
    int x;
    public TestSubData()
    { 
    }

    public int SubNumber
    {
        get { return x; }
        set { x = value; }
    }
}
...