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

 public void additem(int ID,int id, string column1, string column2, string column3, string column4, string column5, string column6,
string column7)
{
//此处的代码不能进行循环!必须封装为一个方法,通过方法的循环,才能实现循环!
DataGridViewRow dgvr = new DataGridViewRow();
foreach (DataGridViewColumn c in this.DataGridView1.Columns)
{
dgvr.Cells.Add(c.CellTemplate.Clone() as DataGridViewCell);
}
dgvr.Cells[].Value = ID;
dgvr.Cells[].Value = id;
dgvr.Cells[].Value = column1;
dgvr.Cells[].Value = column2;
dgvr.Cells[].Value = column3;
dgvr.Cells[].Value = column4;
dgvr.Cells[].Value = column5;
dgvr.Cells[].Value = column6;
dgvr.Cells[].Value = column7;
this.DataGridView1.Rows.Add(dgvr);
}

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

 private void DataStart(string sql)
{
con = Utils.DBConnect.Open("FX.mdb");
string sqlStr = sql;
//获得数据源
reader = Utils.DBConnect.GetReader(sqlStr, con);
int id = ;//每行数据前的序号
while (reader.Read())
{
additem(reader.GetInt32(),id, reader.GetValue().ToString(), reader.GetValue().ToString(), reader.GetValue().ToString(),
reader.GetValue().ToString(), reader.GetValue().ToString(), reader.GetValue().ToString(),
reader.GetValue().ToString());
id++;
}
reader.Close();
con.Close();
}

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

private void LoadFirst()
{
try
{
string tmpStr;
tmpStr = "select * from fx order by fxid desc";
DataStart(tmpStr);
}
catch
{
MessageBox.Show("数据库未连接正确!");
}
}

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. mybatis动态SQL中的sql片段

    在mybatis中通过使用SQL片段可以提高代码的重用性,如下情景: 1.创建动态SQL <sql id="sql_count">select count(*)< ...

  2. python和shell变量互相传递的几种方法

    python -> shell: 1.环境变量 复制代码代码如下: import os  var=123或var='123'os.environ['var']=str(var)  #enviro ...

  3. 转!!深入理解 Session 与 Cookie

    摘要 Session 与 Cookie 不管是对 Java Web 的初学者还是熟练使用者来说都是一个令人头疼的问题.在初入职场时恐怕很多程序员在面试的时候都被问到过这个问题.其实这个问题回答起来既简 ...

  4. KD-tree

    就是K维空间上的二叉查找树. 每个node对应k维空间的超矩形区域 在方差最大的维度上,比较数据与kd-tree的根节点.中间节点,在该维度上的中值处划分,得到新的子空间,直到不能再分. 用于最近邻查 ...

  5. OpenCV C++ 计算文件夹中对象文件数目及批量处理后保存到txt文件

    //采用windows控制台实现计算文件夹中对象总数以及批量读取对象 //#include <afx.h> //和windows.h是一样的作用 #include <opencv2/ ...

  6. samtools常用命令详解(转)

    转自:samtools常用命令详解 samtools的说明文档:http://samtools.sourceforge.net/samtools.shtml samtools是一个用于操作sam和ba ...

  7. 小心Windows7的UTF-8代码页

    目录 第1章小心Windows7的UTF-8代码页    1 1.1 UTF-16与UTF-8相互转换    1 1.1.1 使用Windows API    1 1.1.2 自己编码    1 1. ...

  8. C#读写EXCEL

    using System; using System.Collections; using System.Configuration; using System.Data; using System. ...

  9. Java GC系列(1):Java垃圾回收简介

    本文由 ImportNew - 好好先生 翻译自 javapapers. Java的内存分配与回收全部由JVM垃圾回收进程自动完成.与C语言不同,Java开发者不需要自己编写代码实现垃圾回收.这是Ja ...

  10. Qt之findChild

    简述 在Qt编程过程中,通常会有多个部件嵌套,而大多数部件都有父子依赖关系,但是有些情况下不能直接引用子部件,这时我们可以通过父部件来findChild -"查找孩子". 简述 查 ...