C#listview控件填充数据出问题
每一行数据都向右偏离了一个列。
部分代码如下:
cmd.CommandText = "SELECT * FROM 图书目录表 ";
sdr = cmd.ExecuteReader();
ListViewItem lv;
ListViewItem.ListViewSubItem lvs;
//载入分类信息到listview
while (sdr.Read())
{
#region
lv = new ListViewItem();
lvs = new ListViewItem.ListViewSubItem();
lvs.Text = (string)sdr;
lv.SubItems.Add(lvs);
lvs = new ListViewItem.ListViewSubItem();
lvs.Text = (string)sdr;
lv.SubItems.Add(lvs);
lvs = new ListViewItem.ListViewSubItem();
lvs.Text = (string)sdr;
lv.SubItems.Add(lvs);
lvs = new ListViewItem.ListViewSubItem();
lvs.Text = (string)sdr;
lv.SubItems.Add(lvs);
lvs = new ListViewItem.ListViewSubItem();
lvs.Text = (Convert.ToDecimal(sdr)).ToString();
lv.SubItems.Add(lvs);
lvs = new ListViewItem.ListViewSubItem();
lvs.Text = (string)sdr["出版社"];
lv.SubItems.Add(lvs);
listView1.Items.Add(lv);
#endregion
}
listview设置如下:
this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.listView1.FullRowSelect = true;
this.listView1.GridLines = true;
this.listView1.Location = new System.Drawing.Point(3, 17);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(417, 303);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
可以试试这种 赋值方法
ListViewItem lvi = new ListViewItem(dr["StudentName"].ToString());//第一列
//2、各列赋值
lvi.SubItems.Add(dr["Sex"].ToString());
lvi.SubItems.Add(dr["LoginPwd"].ToString());
lvi.SubItems.Add(dr["Address"].ToString());
lvi.Tag = dr["StudentNo"].ToString();
//3、将赋值后的ListViewItem加入ListView
this.lvStudents.Items.Add(lvi);
页:
[1]