原本打算使用listBox1组件,结果没有发现它能使用多列显示数据(类似dataGridView1),
于是换用了listView1组件,虽然解决了多列显示的问题。目前设计的显示为4列,动态添加数据listView1.Items.AddRange(new ListViewItem[] { new ListViewItem(new string[] { Cells1, Cells2, Cells3, Cells4 }) });
由于数据是动态添加的,所以我不想显示列标题,据说可以这样 listView1.View = View.SmallIcon;结果添加到listView1里的数据只显示了Cells1参数的值,其余Cells2,Cells3,Cells4参数的值却没有显示!?

解决方案 »

  1.   

    listview的多列添加可以这样:ListViewItem Item = new ListViewItem();
                Item.SubItems.Clear();            Item.SubItems[0].Text = "学号";
                //读取数据库中字段 
                ListViewItem.ListViewSubItem subItem1 = new ListViewItem.ListViewSubItem(Item, "姓名");
                ListViewItem.ListViewSubItem subItem2 = new ListViewItem.ListViewSubItem(Item, "性别");
                ListViewItem.ListViewSubItem subItem3 = new ListViewItem.ListViewSubItem(Item, "班级");
                Item.SubItems.Add(subItem1);
                Item.SubItems.Add(subItem2);
                Item.SubItems.Add(subItem3);            listView1.Items.Add(Item);//显示  
      

  2.   

    纠正你一个错误:listbox是可以显示多列的
     
               ListBox lb;
                lb.MultiColumn = true;
      

  3.   

    MultiColumn   =   true不行吧 MultiColumn   =   true指的是当添加数据过多,以致listBox高度不够时,不产生垂直滚动条,而另起一列继续添加,本质上所有数据还是同一性质。
      

  4.   

    你难道是要显示不同的四列?建议使用dataGridView,然后设置不显示横竖表头,如下:DataTable dt = new DataTable();
    dt.Columns.Add("c1");
    dt.Columns.Add("c2");
    dt.Columns.Add("c3");
    dt.Rows.Add("r1","r11","r111");
    dt.Rows.Add("r12", "r112", "r1112");
    dt.Rows.Add("r13", "r113", "r1113");
    dataGridView1.DataSource = dt;
    dataGridView1.RowHeadersVisible = false;
    dataGridView1.ColumnHeadersVisible = false;
      

  5.   

    但是dataGridView1背景色不能设成透明,很遗憾!
    还有其他解决方法吗?
      

  6.   


    谁说dataGridView1不能设置背景透明?
      

  7.   

    还有一点,你提问题最好在问题中说明白了,
    像“dataGridView1背景色不能设成透明”这种补充和原问题无半点关系,不知道你还遗憾什么?
    你一次次的描述不清楚,一次次的修改需求,结果可想而知