首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

菜鸟关于ListView求解?

2012-04-30 
初学者关于ListView求解???我在程序中单独输入以下代码运行正常: ListViewItem lviStus new ListViewIte

初学者关于ListView求解???
我在程序中单独输入以下代码运行正常: ListViewItem lviStus = new ListViewItem("aa");
 lviStus.SubItems.Add("1");
 lviStus.SubItems.Add("a");
 lviStus.SubItems.Add("c");
 this.lvStudent.Items.Add(lviStus);
可为什么写在一个循环里就不行了了?
 String sql = String.Format("select * from student where stu_uname like '%{0}%'", txtStu_name.Text);
   
  DBHelper.conn.Open();
  SqlCommand comm = new SqlCommand(sql, DBHelper.conn);
  SqlDataReader dr = comm.ExecuteReader();
  lvStudent.Clear();
   
  if (!dr.HasRows)
  {
  MessageBox.Show("没有相信学员的信息");

  }
  else
  {
  while(dr.Read()) //单步调试是运行到了这里
  {

  ListViewItem lviStus = new ListViewItem("aa");



  //lviStus.SubItems.AddRange(new String[] {stu_name, stu_key, stu_state});
  //lviStus.SubItems.AddRange(new String[] { "aa", "bb", "cc" });
  lviStus.SubItems.Add("1");
  lviStus.SubItems.Add("a");
  lviStus.SubItems.Add("c");
  this.lvStudent.Items.Add(lviStus);
  }
  }
  dr.Close();
  DBHelper.conn.Close();
   


[解决办法]
断点调试看哪一行代码出错。
在循环中定义
ListViewItem lviStus = new ListViewItem("aa");
这一句可能有问题。
因为最后lviStus 要被add到this.lvStudent.Items中。结果都是"aa"应该是会报错的。可以试试
ListViewItem lviStus = new ListViewItem("aa"+行号之类的);

[解决办法]
首先肯定重复添加new ListViewItem("aa")不会报错
你先说明一下所谓的不行是什么不行,报错还是不执行呢,下断点跟踪调试
[解决办法]
你循环应该不报错吧。ListViewItem lviStus = new ListViewItem("aa");放到循环外面
[解决办法]
估计是重复定义的原因,不知道你循环怎么写的
[解决办法]
把代码换成下面的试试

C# code
  ListViewItem lviStus;  while(dr.Read()) //单步调试是运行到了这里  {      lviStus = new ListViewItem("aa");      //lviStus.SubItems.AddRange(new String[] {stu_name, stu_key, stu_state});      //lviStus.SubItems.AddRange(new String[] { "aa", "bb", "cc" });      lviStus.SubItems.Add("1");      lviStus.SubItems.Add("a");      lviStus.SubItems.Add("c");      this.lvStudent.Items.Add(lviStus);  }
[解决办法]
下断点,单步调试

热点排行