我有两个list列表,都是根据数据库中查出来的list<users>和list<log>,其中log中usersID和users中的ID关联,我想把log显示在listview上,把usersID那一列换成users中的name,怎么弄

解决方案 »

  1.   

    用linq轻松解决
    List<Users> list1,
    List<Log> list2
    var result = from r1 in list1
                 from r2 in list2
                 where r1.UserID == r2.Id
                 select new { Id = r1.UserID, Name = r1.UserName, Content = r2.Content };new 的新类里面放你想放的东西,
    类似视图,
    再直接绑定就行了
      

  2.   

            private void button1_Click(object sender, EventArgs e)
            {
                ColumnHeader name = new ColumnHeader();
                name.Text = "name";
                name.Width = 100;
                ColumnHeader log = new ColumnHeader();
                log.Text = "log";
                log.Width = 200;
                
                listView1.Columns.AddRange(new ColumnHeader[] { name, log });
                listView1.View = View.Details;           List<A> listA = new List<A>{
                   new A( "1","LogAAAAAAAA"),
                   new A( "2","Log2AAAAAAAA")
               };
               List<B> listB = new List<B>{new B("1","NmaeBBBB"),
               new B("2","NmaeCC")};
                var itemb = new List<B>();            listA.ForEach((item) =>
                {
                    foreach (var listb in listB)
                    {
                        if (item.userid == listb.userid)
                        {                        ListViewItem lvi1 = new ListViewItem(new string[] { listb.username, item.log});
                            listView1.Items.Add(lvi1);
                        }
                    }
                });
            }
            class A
            {
                public A(string userid,string log)
                {
                    this.userid = userid;
                    this.log = log;
                }
                public string userid
                {
                    get;
                    set;
                }            public string log
                {
                    get;
                    set;
                }        }        class B
            {
                public  B(string userid,string username)
                {
                    this.userid = userid;
                    this.username = username;            }
                public string userid
                {
                    get;
                    set;
                }
                public string username
                {
                    get;
                    set;
                }
            }
      

  3.   

    "NmaeBBBB"  "LogAAAAAAAA"
    "NmaeCC"    "Log2AAAAAAAA"