马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#listview控件填充数据出问题

[复制链接]
查看4493 | 回复1 | 2015-11-2 13:19:59 | 显示全部楼层 |阅读模式
捕获1.PNG
每一行数据都向右偏离了一个列。
部分代码如下:
            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[0];
                lv.SubItems.Add(lvs);
                lvs = new ListViewItem.ListViewSubItem();
                lvs.Text = (string)sdr[1];
                lv.SubItems.Add(lvs);      
                lvs = new ListViewItem.ListViewSubItem();
                lvs.Text = (string)sdr[2];
                lv.SubItems.Add(lvs);
                lvs = new ListViewItem.ListViewSubItem();
                lvs.Text = (string)sdr[3];
                lv.SubItems.Add(lvs);
                lvs = new ListViewItem.ListViewSubItem();
                lvs.Text = (Convert.ToDecimal(sdr[4])).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;


lika | 2015-11-10 22:14:37 | 显示全部楼层
可以试试这种 赋值方法

  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);
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则