这里没有使用数据库,仅仅是将得到数据进行分页显示。

1.先启用编辑列,对列数进行编辑。我这里有8个列。如果列数没有设计好,后面代码运行时,会报错。

2.相关代码如下,这里测试了http访问后台数据,json的格式类型。我将数据提取出,做了一个简单的显示

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;namespace DataGridViewDownComboBoxDemo
{public partial class Form1 : Form{public int pageSize = 20;public int recordCount = 0;public int pageCount = 0;public int currentPage = 0;DataTable table = new DataTable();public void initview(){DataColumn column1 = new DataColumn("SN", Type.GetType("System.String"));DataColumn column2 = new DataColumn("ProductId", Type.GetType("System.String"));DataColumn column3 = new DataColumn("BoxName", Type.GetType("System.String"));DataColumn column4 = new DataColumn("Apikey", Type.GetType("System.String"));DataColumn column5 = new DataColumn("Time", Type.GetType("System.String"));DataColumn column6 = new DataColumn("Password", Type.GetType("System.String"));DataColumn column7 = new DataColumn("DeviceID", Type.GetType("System.String"));DataColumn column8 = new DataColumn("DeviceType", Type.GetType("System.String"));table.Columns.Add(column1);             //将列添加到table表中table.Columns.Add(column2);table.Columns.Add(column3);table.Columns.Add(column4);             //将列添加到table表中table.Columns.Add(column5);table.Columns.Add(column6);table.Columns.Add(column7);             //将列添加到table表中table.Columns.Add(column8);}private void PageSorter(int num, JArray ja){dataGridView1.Rows.Clear();for (int i = 1; i <= num; i++){DataRow dr = table.NewRow();            //table表创建行JObject o1 = JObject.Parse(ja[i-1].ToString());dr["SN"] = o1["sn"];dr["ProductId"] = o1["name"];dr["BoxName"] = o1["address"];dr["Apikey"] = o1["total"];dr["Time"] = o1["state"];dr["Password"] = o1["distance"];dr["DeviceID"] = o1["sn"];dr["DeviceType"] = o1["sn"];table.Rows.Add(dr);                     //将数据加入到table表中}recordCount = table.Rows.Count;     //记录总行数pageCount = (recordCount / pageSize);if ((recordCount % pageSize) > 0){pageCount++;}//默认第一页currentPage = 1;LoadPage();//调用加载数据的方法}private void LoadPage(){if (currentPage < 1) currentPage = 1;if (currentPage > pageCount) currentPage = pageCount;int beginRecord;    //开始指针int endRecord;      //结束指针DataTable dtTemp;dtTemp = table.Clone();beginRecord = pageSize * (currentPage - 1);if (currentPage == 1) beginRecord = 0;endRecord = pageSize * currentPage;if (currentPage == pageCount) endRecord = recordCount;for (int i = beginRecord; i < endRecord; i++){dtTemp.ImportRow(table.Rows[i]);}dataGridView1.Rows.Clear();for (int i = 0; i < dtTemp.Rows.Count; i++){dataGridView1.Rows.Add(new object[] { dtTemp.Rows[i][0], dtTemp.Rows[i][1], dtTemp.Rows[i][2], dtTemp.Rows[i][3], dtTemp.Rows[i][4], dtTemp.Rows[i][5], dtTemp.Rows[i][6], dtTemp.Rows[i][7] });}labPageIndex.Text = "当前页: " + currentPage.ToString() + " / " + pageCount.ToString();//当前页labRecordCount.Text = "总行数: " + recordCount.ToString() + " 行";//总记录数}private void btnFirst_Click(object sender, EventArgs e){if (currentPage == 1){ return; }currentPage = 1;LoadPage();}private void btnPrev_Click(object sender, EventArgs e){if (currentPage == 1){ return; }currentPage--;LoadPage();}private void btnNext_Click(object sender, EventArgs e){if (currentPage == pageCount){ return; }currentPage++;LoadPage();}private void btnLast_Click(object sender, EventArgs e){if (currentPage == pageCount){ return; }currentPage = pageCount;LoadPage();}public Form1(){initview();//创建虚拟表InitializeComponent();}/// <summary>  /// 绑定GRIDVIEW  /// </summary>  private void Form1_Load(object sender, EventArgs e){// PageSorter();//分页 }private void button5_Click(object sender, EventArgs e){// String pback = "{ \"error\": \"succ\", \"errno\": 0, \"data\": [ { \"sn\": \"ffddee000004\", \"time\": \"2022-10-10 17:55:54\" }]}";String back = "{ \"error\":\"succ\",\"errno\":0,\"data\":[{\"sn\":\"ffddee000004\",\"name\":\"公司测试充电桩\",\"address\":\"田园风光\",\"total\":8,\"state\":1,\"distance\":\"0m\"},{\"sn\":\"ffddff000006\",\"name\":\"鸿世测试充电桩6\",\"address\":\"孵化器\",\"total\":8,\"state\":0,\"distance\":\"0m\"},{\"sn\":\"eeddee000001\",\"name\":\"远程更新测试用\",\"address\":\"轨物科技\",\"total\":0,\"state\":0,\"distance\":\"97m\"},{\"sn\":\"ffddff000013\",\"name\":\"公司测试充电桩013\",\"address\":\"孵化器\",\"total\":8,\"state\":1,\"distance\":\"1.7km\"}]}";Console.WriteLine("GET返回:" + back);JObject jObject = JObject.Parse(back);JArray data;data = JArray.Parse(jObject["data"].ToString());Console.WriteLine("data:" + data.Count);//找到后台返回的数据数目JObject o1 = JObject.Parse(data[0].ToString());//Console.WriteLine("o1:" + o1.ToString());Console.WriteLine("o1:" + o1["sn"]);PageSorter(data.Count, data);}}
} 

下面是窗口的显示界面

如果有足够多的数据话,就可以做到分页显示的效果。通过这个小历程,学会使用了GridView界面的操作。以后还是要注重基础的学习。

C# GridView的分页使用 附代码相关推荐

  1. (转)大数据量分页存储过程效率测试附代码

    大数据量分页存储过程效率测试附代码 在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存: ...

  2. 实现iPhone电子书的分页显示功能(附代码)

    实现iPhone电子书的分页显示功能(附代码) 2016-01-10 21:45  294人阅读  评论(0)  收藏  编辑  删除 最近我们介绍了几个iPhone开发的代码测试案例,今天我们将介绍 ...

  3. 大数据量分页存储过程效率测试附代码

    在项目中,我们经常遇到或用到分页,那么在大数据量(百万级以上)下,哪种分页算法效率最优呢?我们不妨用事实说话. 测试环境 硬件:CPU 酷睿双核T5750  内存:2G 软件:Windows serv ...

  4. GridView自定义分页样式(上一页,下一页,到第几页)(新手教程)

    今天要为网站做一个文章列表,发现GridView的分页样式很难看,于是结合网上的例子,自己做了一个.不是很美观,不过还是很实用的,先看下效果吧,如图(1).演示地址http://www.veryam. ...

  5. GridView自定义分页

    第一步:设置GridView的AllowPaging="True" 和 PageSize="20" 第二步:创建GridView的分页模板 <PagerT ...

  6. html代码自动排列,html页面如何实行数据排序?(附代码)

    本篇文章给大家带来的内容是关于html页面如何实行数据排序?(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 前些天在进行成绩排名的时候,用到了这个小技巧.直接在html代码 ...

  7. html转换成pdf代码,HTML转成PDF的4个方法介绍(附代码)

    本篇文章给大家带来的内容是关于把HTML转成PDF的4个方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我将展示如何使用 Node.js.Puppetee ...

  8. Get了!用Python制作数据预测集成工具 | 附代码

    作者 | 李秋键 责编 | 晋兆雨 大数据预测是大数据最核心的应用,是它将传统意义的预测拓展到"现测".大数据预测的优势体现在,它把一个非常困难的预测问题,转化为一个相对简单的描述 ...

  9. java中自造类是什么意思_Java建造者模式是什么?如何实现?(附代码)

    本篇文章给大家带来的内容是关于Java建造者模式是什么?如何实现?(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 建造者模式 一.什么是建筑者模式? 建造者模式(Build ...

最新文章

  1. 2010.2--netscreen ssg 140 恢复出厂设置的方法
  2. GPT-4前奏?OpenAI发布120亿参数图像版GPT-3
  3. 万维网发布服务 w3svc 已停止 除非万维_W3C万维网联盟宣布停止发布HTML 5.3版
  4. 文巾解题 1446. 连续字符
  5. cpanel重启PHP服务_8款基于Web控制面板的服务器管理工具,开源免费,系统管理员利器...
  6. 21.3 共享受限的资源
  7. 关于字符集--总结,补遗以及问题
  8. Android studio之编译出现 Error:null value in entry: outputDirectory=null
  9. Google Analytics 搜索引擎来源
  10. 云原生应用架构转型不好做?阿里云这个平台让你一步到位!
  11. 直播丨 如何从零快速搭建一整套监控体系(日志采集+主机+数据库)
  12. 整理了一个带语法高亮显示,及到处html功能的richtextbox控件
  13. python中index方法详解_详解python中的index函数用法
  14. windows中python虚拟环境_Windows下Python虚拟环境的配置
  15. 大漠插件dm7.2149
  16. (2021系统架构设计师)个人对于软考的一些总结
  17. MATLAB的clear和clc用法
  18. uboot usb网卡分析
  19. java语言就业方向_学习java以后的就业方向有哪些-百度经验
  20. 浏览器访问网站标签页小图标显示

热门文章

  1. 大学计算机技巧讲座新闻稿,计算机学院举行“立足现实,守望理想”讲座
  2. java(九)-方法引用, Stream流,File类 , 递归 ,字节流
  3. 对稀疏矩阵进行归一化
  4. 18 | 耗电优化(上):从电量优化的演进看耗电分析
  5. Mathtype 公式在word中不对应的问题总结
  6. android ics打开/隐藏虚拟导航按键
  7. 如何更快地渲染?深入了解3D渲染性能的指南!(4)
  8. 内存地址空间与十六进制,为什么需要八进制和十六进制? 十六进制的意义何在
  9. 据我爱无人机网-空客公司展示新型直升机飞行试验台
  10. 不懂云原生?来看国内首个信用卡云架构如何实施