我的datagrid数据源是类对象,不是dataset,想知道如何实现
eg:
定义两个方法:
AddrInfo(string area,string county,string street);
AccountInfo(string userId, string userName,AddrInfo userAddr);
....
添加数据:
IList iList =new ArrayList();
AddrInfo addrInfo =new AddrInfo("福州","鼓楼","五一路");
AccountInfo accInfo =new AccountInfo("1234","张三",addrInfo);
iList.Add(accInfo);
...再添几行...
DataGrid1.DataSource = iList;
DataGrid1.DataBind();
.......
我想在页面上显示出userId\userName\area\county\street
但是在页面上只显示userId、userName,addrInfo里的信息无法显示,请各位高手帮忙解决一下,小弟谢先~!!

解决方案 »

  1.   

    addrInfo 
    只实列化了一个。。你不停的ADD。。导致这个addrInfo 里有多条数据。。
    如是会形成一个多维数组。。
    显示的时候出问题就很正常了。。
      

  2.   

    问题不在那里吧,就算一条记录也是只会显示userId、userName这两个字段
      

  3.   

    难道这样弄太复杂了?要是不用DataGrid,象asp那样直接在aspx页面上输出是可以的,但太麻烦了,要涉及到分页等等
      

  4.   

    to 但是在页面上只显示userId、userName,addrInfo里的信息无法显示,请各位高手帮忙解决一下,小弟谢先需要在类里把所有需要显示的对象定义为属性,这样才能绑定显示。
    例如
    public class UserInfo
    {
        public string UserName
        {
             get{ return _username;}
        }
        //...
    }
      

  5.   

    谢谢楼上的,类的变量、属性等我都定义了,上面写的时候只是给省略了
    public class AddrInfo { private string _area;
    private string _county;
    private string _street;

    public AddrInfo(string area, string county, string street) {
    this._area = area;
    this._county = county;
    this._street = street;
    } // Properties
    public string Area {
      get { return _area; }
      set { _area = value; }
    } public string County {
    get { return _county; }
    set { _county = value; }
    } public string Street {
    get { return _street; }
    set { _street = value; }
    }}
    .....
      

  6.   

    你的存放到arraylist中的所有对象类型都一样吗?
      

  7.   

    加多一个数组类。。
    我贴个代码吧。 private void dg1bind()
    {
    TestItem[] TestItems = new TestItem[1];
    test1 test1 = new test1(1, "Joe");
    test2 test2 = new test2("true", 1000); TestItems[0] = new TestItem(test1.TestID,test1.TestName,test2.TestBool,test2.TestAmount); this.DataGrid1.DataSource = TestItems;
    this.DataGrid1.DataBind();
    } public class test1
    {
    private int m_TestID;
    private string m_TestName;
    public int TestID
    {
    get
    {
    return m_TestID;
    }
    } public string TestName
    {
    get
    {
    return m_TestName;
    }
    } public test1(int TestID,string TestName)
    {
    this.m_TestID = TestID;
    this.m_TestName = TestName;
    } }

    public class test2
    {
    private string m_TestBool;
    private double m_TestAmount;

    public string TestBool
    {
    get
    {
    return m_TestBool;
    }
    } public double TestAmount
    {
    get
    {
    return m_TestAmount;
    }
    }
    public test2(string TestBool ,double TestAmount)
    {
    this.m_TestBool = TestBool;
    this.m_TestAmount = TestAmount;
    } }
    public class TestItem
    { private int m_TestID;
    private string m_TestName;
    private string m_TestBool;
    private double m_TestAmount; public int TestID
    {
    get
    {
    return m_TestID;
    }
    } public string TestName
    {
    get
    {
    return m_TestName;
    }
    } public string TestBool
    {
    get
    {
    return m_TestBool;
    }
    } public double TestAmount
    {
    get
    {
    return m_TestAmount;
    }
    } public TestItem(int TestID,string TestName,string TestBool ,double TestAmount)
    {
    this.m_TestID = TestID;
    this.m_TestName = TestName;
    this.m_TestBool = TestBool;
    this.m_TestAmount = TestAmount;
    } }