关于Winform中listview的分页问题

         相对于把数据加载到datagridview中简单的适配器和数据集集合,把数据加载待listview中相对麻烦一些,最近做了一个简单的listview加载数据,希望对有需要的朋友有所帮助。

        使用的控件listview,使用SQL SERVER2008,数据来源于数据库中学生信息表studentInfo,,一下是功能代码和部分注释。

       

public partial class Form1 : Form
    {
        int pageSize = 0;//定义每页显示的行数
        int nMax = 0;//总记录行
        int pageCount = 0;//页数=总记录数/每页显示的记录
        int pageCurrent = 0;//当前页号;
        int ncurrent = 0;//当前记录行
        DataSet ds = new DataSet();
        DataTable dtInfo = new DataTable();//创建表,表示内存中的一个表
       
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            DBHelper dbhelper = new DBHelper();//实例化数据库操作类
            
            string sql = "select student_id,student_name from studentinfo";//SQL语句查询相关信息
            SqlDataAdapter adapter = new SqlDataAdapter(sql,dbhelper.Connection);//适配器存储查询结果
            adapter.Fill(ds,"ds");//填充数据集虚拟表ds
            int col = ds.Tables[0].Columns.Count;//统计表中的列数
            int row = ds.Tables[0].Rows.Count;//统计表中的行数
            for (int i = 0; i < row; i++)
            {
                ListViewItem items = new ListViewItem();//实例化项对象
                string no = ds.Tables[0].Rows[i][0].ToString();//读取表第i行第1列
                items.Text=no;//把值付给项的TEXT
                for (int j = 1; j < col;j++)//统计行
                {
                    string name = ds.Tables[0].Rows[i][j].ToString();//读取第i行第j列的值
                    items.SubItems.Add(name);//添加子项
                    lvStudent.Items.Add(items);//把项添加到listview中
                }
            }

        }
    }

   以上能使用listview完成数据加载,但是还没有实现分页,希望各位朋友不吝赐教,共同探讨。

 

你可能感兴趣的:(关于Winform中listview的分页问题)