要用listview创建一个表格,表格和Word中制作的表格相似,具有几项参数,可以设置参数值,首先定义了一个Class1的类,如下:  public class Class1
        {
            public Class1(string Num, string Range, string Speed, string Distance)
            {
                this._Num = Num;
                this._Range = Range;
                this._Speed = Speed;
                this._Distance = Distance;            }
            private string _Num;
            public string Num
            {
                get { return _Num; }
                set { _Num = value; }
            }
            private string _Range;
            public string Range
            {
                get { return _Range; }
                set { _Range = value; }
            }
            private string _Speed;
            public string Speed
            {
                get { return _Speed; }
                set { _Speed = value; }
            }
            private string _Distance;
            public string Distance
            {
                get { return _Distance; }
                set { _Distance = value; }
            }
            public static IList<Class1> GetAllUser()
            {                IList<Class1> aa = new List<Class1>();
                aa.Add(new Class1("1", " ", " ", " "));
                aa.Add(new Class1("2", " ", " ", " "));
                aa.Add(new Class1("3", " ", " ", " "));
                aa.Add(new Class1("4", "", " ", " "));
                aa.Add(new Class1("5", "", "", ""));
                aa.Add(new Class1("6", " ", " ", " "));
                aa.Add(new Class1("7", " ", " ", " "));
                aa.Add(new Class1("8", " ", " ", " "));
            }
       然后通过一个按钮控制在Listview中输入数值, 其中需要应用
                foreach (Class1 cs in all)
                {
                    ListViewItem item = new ListViewItem(new string[]{
                        cs.Num ,
                        cs.Range ,
                        cs.Speed });
                    listView1.Items.Add(item);
                 }       
       加载已经在listview中的数据,由于foreach只允许从集合中读取数据,不允许写入集合,所以要把这个foreach语句用其它循环语句代替,我是初学,不知道如何代换,请高手指教,如何可以用其它语句来加载Class1中的数据,同时可以使Listview 表格中的数据可以修改。非常感谢!

解决方案 »

  1.   

    for(int i=0; i<all.Count; i++)

         all.Remove(a);
    }
      

  2.   

    foreach(...)
    {
      all.Remove(a);
    }
    也是可以的
      

  3.   

    foreach (Class1 cs in all)
      {
      ListViewItem item = new ListViewItem(new string[]{
      cs.Num ,
      cs.Range ,
      cs.Speed });
      listView1.Items.Add(item);
      }   
    这本身就没错啊,不能改的是cs!
      

  4.   

    LINQ
    all.RemoveAll(s => s.id=="1");
      

  5.   

    可能我表达的不够明白,我知道foreach语句是没有错的,我想问的是:可以用哪个语句来代替foreach语句,实现同样的功能呢?
      

  6.   

    用For? WHile?
    如果你用List<T>的话可以用一下lamada,吼吼List<Class1> all = new List<Class1>();
    all.Foreach(cs = >  listView1.Items.Add(new ListItem(new String[]{cs.Num,
      cs.Range ,
      cs.Speed}));)
      

  7.   

    对的,,因为foreach只允许从集合中读取数据,不允许写入集合,但是要求可以在创建的表格中自由输入。用for 或者是while都可以。请赐教。