在C#开发的winform程序中,datagridview是一个经常使用到的控件。它可以以类似excel表格的形式规范的展示或操作数据,我也经常使用这个控件。使用这个控件首先要掌握的就是如何向其中插入数据,直接在控件上操作的方法就不再赘述了,下面我将描述一下如何用代码向datagridview添加数据:

  1. public void additem(int ID,int id, string column1, string column2, string column3, string column4, string column5, string column6,
  2. string column7)
  3. {
  4. //此处的代码不能进行循环!必须封装为一个方法,通过方法的循环,才能实现循环!
  5. DataGridViewRow dgvr = new DataGridViewRow();
  6. foreach (DataGridViewColumn c in this.DataGridView1.Columns)
  7. {
  8. dgvr.Cells.Add(c.CellTemplate.Clone() as DataGridViewCell);
  9. }
  10. dgvr.Cells[].Value = ID;
  11. dgvr.Cells[].Value = id;
  12. dgvr.Cells[].Value = column1;
  13. dgvr.Cells[].Value = column2;
  14. dgvr.Cells[].Value = column3;
  15. dgvr.Cells[].Value = column4;
  16. dgvr.Cells[].Value = column5;
  17. dgvr.Cells[].Value = column6;
  18. dgvr.Cells[].Value = column7;
  19. this.DataGridView1.Rows.Add(dgvr);
  20. }

这就是向datagridview里面添加一条数据的代码,想要实现更多的添加,只需循环添加即可:

  1. private void DataStart(string sql)
  2. {
  3. con = Utils.DBConnect.Open("FX.mdb");
  4. string sqlStr = sql;
  5. //获得数据源
  6. reader = Utils.DBConnect.GetReader(sqlStr, con);
  7. int id = ;//每行数据前的序号
  8. while (reader.Read())
  9. {
  10. additem(reader.GetInt32(),id, reader.GetValue().ToString(), reader.GetValue().ToString(), reader.GetValue().ToString(),
  11. reader.GetValue().ToString(), reader.GetValue().ToString(), reader.GetValue().ToString(),
  12. reader.GetValue().ToString());
  13. id++;
  14. }
  15. reader.Close();
  16. con.Close();
  17. }

这是通过sql语句,将数据库中的数据循环显示在datagridview里面。下面是这个函数的使用:

  1. private void LoadFirst()
  2. {
  3. try
  4. {
  5. string tmpStr;
  6. tmpStr = "select * from fx order by fxid desc";
  7. DataStart(tmpStr);
  8. }
  9. catch
  10. {
  11. MessageBox.Show("数据库未连接正确!");
  12. }
  13. }

C# WinForm程序向datagridview里添加数据的更多相关文章

  1. foreach循环时动态往数组里添加数据

    今天在用TP做项目的时候遇到一个问题,foreach的时候需要动态往数组里添加数据,示例代码如下: $arr = array( array('id'=>'字符串1','name'=>'字符 ...

  2. winform datatable 或datagridview中添加列

    DataGridViewCheckBoxColumn dg = new DataGridViewCheckBoxColumn(); dg.HeaderText = "选择"; dg ...

  3. ScriptedSandbox64.exe 在写Winform程序Debug时不停提交数据

    抓包时发现不停的在提交数据,导致抓包内容看不到. 取消方式:Tools -> Options -> Debugging -> General -> Enable Diagnos ...

  4. C#WinForm中在dataGridView中添加中文表头

    第一步: 注意事项:(1)如果使用数据库,那么第三步的名称可以是任意的,但是不能和数据库中的列名一样,否则会报错:    (2)第四步的页眉文本就是你想用的中文列名,自己定: (3)第六步尤其重要,不 ...

  5. c# 如何给 dataGridView里添加一个自增长列(列名为序号)

    System.Data.DataTable table = new DataTable();                System.Data.DataColumn column = new Da ...

  6. 使用.net core3.0 正式版创建Winform程序

    前阵子一直期待.net core3.0正式版本的出来,以为这个版本出来,Winform程序又迎来一次新生了,不过9.23日出来的马上下载更新VS,创建新的.net core Winform项目,发现并 ...

  7. winform 实现两个datagridview之间的数据联动

    再做数据库开发的时候,经常会遇到表带上明细表,比如,一个学校有好多系,每个系又有好多专业.... 在winform中,都会使用datagridview来显示数据,现在就来说说如何实现之间的联动.比如现 ...

  8. visual studio 2010 winform程序不能添加对system.web的引用

    visual studio 2010 winform程序不能添加对system.web的引用[转载] 需要引用到System.Web.发现没有“System.Web”.在通过“浏览”方式,找到该DLL ...

  9. Winform中使用FastReport的DesignReport时怎样给通过代码Table添加数据

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

随机推荐

  1. hiho_1054_滑动解锁

    题目大意 智能手机九点屏幕滑动解锁,如果给出某些连接线段,求出经过所有给出线段的合法的滑动解锁手势的总数.题目链接: 滑动解锁 题目分析 首先,尝试求解没有给定线段情况下,所有合法的路径的总数.可以使 ...

  2. 图解javascript中this指向

    JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发JavaScript其实很难掌握,有些 ...

  3. commonJS — 全局操作(for Window)

    for Window github: https://github.com/laixiangran/commonJS/blob/master/src/forWindow.js 代码 /** * Cre ...

  4. LinuxShell脚本攻略--第一章 小试牛刀

    使用 shell 进行数学运算: #!/bin/bash no1=; no2=; let result=no1+no2 echo $result result=$[ $no1 + no2 ] resu ...

  5. Qt之QParallelAnimationGroup

    简述 QParallelAnimationGroup类提供动画的并行组. QParallelAnimationGroup - 一个动画容器,当它启动的时候它里面的所有动画也启动,即:并行运行所有动画, ...

  6. python中字符串与列表的相互转换

    列表转字符串 list1 = ['abc' , 'def' , 'ghi'] str1 = ','.join(list1) str1 = '##'.join(list1) 字符串转列表 str1 = ...

  7. HDUOJ-------2493Timer(数学 2008北京现场赛H题)

    Timer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  8. Ajax请求中带有IPv6地址后的百分号的问题

    IPv6地址后的百分号: 对于连入网络但没有IPv6路由器或DHCPv6服务器的IPv6客户端,它们始终使用fe80::/64链路本地网络地址.如果运行Windows的计算机中有多个网络适配器连接到不 ...

  9. HTTP && socket

    http://blog.csdn.net/zeng622peng/article/details/5546384 1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终 ...

  10. PHP基本知识收集

    1.符号“@”的作用 @是可以屏蔽函数执行过程中遇到问题而产生的一些错误.警告信息,这样用户就看不到程序的出错信息.这样除了用户界面会友好一些外,更重要的是安全性,因为屏蔽了出错文件的路径等信息. 2 ...