参考代码1:

自己模拟出数据,并分别对dataGridView赋值。

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Collections;
  10.  
  11. namespace WindowsFormsApplication1
  12. {
  13. public partial class Form1 : Form
  14. {
  15. public Form1()
  16. {
  17. InitializeComponent();
  18. }
  19. DataTable tblDatas = new DataTable("Datas");
  20. private void Form1_Load(object sender, EventArgs e)
  21. {
  22. DataColumn dc = null;
  23. dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
  24. dc.AutoIncrement = true;//自动增加
  25. dc.AutoIncrementSeed = ;//起始为1
  26. dc.AutoIncrementStep = ;//步长为1
  27. dc.AllowDBNull = false;//
  28.  
  29. dc = tblDatas.Columns.Add("Product", Type.GetType("System.String"));
  30. dc = tblDatas.Columns.Add("Version", Type.GetType("System.String"));
  31. dc = tblDatas.Columns.Add("Description", Type.GetType("System.String"));
  32.  
  33. DataRow newRow;
  34. for (int i = ; i < ; i++)
  35. {
  36. newRow = tblDatas.NewRow();
  37. newRow["Product"] = "大话西游";
  38. newRow["Version"] = "2.0";
  39. newRow["Description"] = "我很喜欢";
  40. tblDatas.Rows.Add(newRow);
  41. }
  42.  
  43. newRow = tblDatas.NewRow();
  44. newRow["Product"] = "梦幻西游";
  45. newRow["Version"] = "3.0";
  46. newRow["Description"] = "比大话更幼稚";
  47. tblDatas.Rows.Add(newRow);
  48. dataGridView1.DataSource = tblDatas;
  49. //dataGridView1
  50. }
  51.  
  52. private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
  53. {
  54. //datagridview变化DataSet数据跟随变化;
  55.  
  56. tblDatas.Rows[e.RowIndex][e.ColumnIndex] = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
  57. }
  58.  
  59. private void button1_Click(object sender, EventArgs e)
  60. {
  61. //这个是DataSet数据变化datagridview跟随变化;
  62. //这个要根据实际来的,这里只有修改dataSet中一个单元格的数据。
  63. tblDatas.Rows[][] = "";
  64. }
  65. }
  66. }

参考代码2

手动分别赋值方式。

  1. DataSet ds_sp = new DataSet();
  2. DataTable dt_sp = new DataTable();
  3.  
  4. if (string.IsNullOrEmpty(strFilter))
  5. {
  6. strFilter = " 1=1";
  7. }
  8. dt_sp = DbHelper.getSqlTaskList(tablename, "*", sortExpr, this.SGVTask.PageSize, pageIndex, , strFilter, sortDirect);//Sql 中使用翻页函数
  9.  
  10. DataTable dtTask = dt_sp;
  11.  
  12. for (int i = ; i < dtTask.Rows.Count; i++)
  13. {
  14. DataRow dr = dt.NewRow();
  15. dr["YMD"] = dtTask.Rows[i]["YMD"].ToString();
  16. dr["SDSHAN"] = dtTask.Rows[i]["SDSHAN"].ToString();
  17. dr["ABALPH"] = dtTask.Rows[i]["ABALPH"].ToString();
  18. dr["XSJE"] = dtTask.Rows[i]["XSJE"].ToString();
  19. dr["FenTan_Month"] = dtTask.Rows[i]["FenTan_Month"].ToString();
  20. dr["Cont_KeBian"] = dtTask.Rows[i]["Cont_KeBian"].ToString();
  21. dr["Contract_Num"] = dtTask.Rows[i]["Contract_Num"].ToString();
  22. dr["FenTan_Mode"] = dtTask.Rows[i]["FenTan_Mode"].ToString();
  23. dr["FenTan_BL_Je"] = dtTask.Rows[i]["FenTan_BL_Je"].ToString();
  24. dr["CJ"] = dtTask.Rows[i]["CJ"].ToString();
  25. dr["FixSmOrderNum"] = dtTask.Rows[i]["FixSmOrderNum"].ToString();
  26. dr["ftfs"] = dtTask.Rows[i]["ftfs"].ToString();
  27. dr["FTDAI"] = dtTask.Rows[i]["FTDAI"].ToString();
  28. dr["DAIKM"] = dtTask.Rows[i]["DAIKM"].ToString();
  29. dr["FTJIE"] = dtTask.Rows[i]["FTJIE"].ToString();
  30. dr["JIEKM"] = dtTask.Rows[i]["JIEKM"].ToString();
  31. dr["MEMO"] = dtTask.Rows[i]["MEMO"].ToString();
  32. dt.Rows.Add(dr);
  33. }
  34. this.SGVTask.DataSource = dt;
  35. this.SGVTask.DataBind();

参考方式3 映射方式:

先在DataGridView中定义一些列,将这些列的DataPropertyName设置为查询得到的数据库的返回的DataSet中相关DataTable的列名称。

具体的属性设置可参考本博客文章:C# DataGridView的列对象属性探讨 (未完待续)

参考

c# datagridview 如何与DataSet绑定实现如下目标

C#怎样使 dataGridView1显示数据的时候,dataGridView1的列与数据库表里面的列一一对应

c# datagridview与DataSet绑定, 列与数据库表里面的列一一对应的更多相关文章

  1. Hadoop HBase概念学习系列之HBase里的列式数据库(十七)

    列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...

  2. [置顶] DataGridView控件---绑定数据方法

             DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...

  3. DataGridView编辑后立即更新到数据库的两种方法

    DataGridView控件是微软预先写好的一个显示数据的控件,功能非常强大,可以显示来自数据库表的数据和XML等其他来源的数据. 方法一:基于DataAdapter对象创建一个CommandBuli ...

  4. DataGridView,Dataset,DataTable,DataRow等使用心得

    DataGridView的列编辑: Name:用于调用属性的时候用的,也可以不使用Name去调用,选择数字1,2,3...选择第1列,第2列,第3列. HeaderText:表头显示的名字方便用户使用 ...

  5. 查询数据库的所有列信息 sys.all_columns

    一.Database.sys.tables 为每个表对象返回一行,当前仅用于 sys.objects.type = U 的表对象. 列名 数据类型 说明 <继承的列>   有关此视图所继承 ...

  6. c# DataGridView在使用DataSource时,只显示指定的列或禁止自动生成列

    可通过设置DataGridView控件的AutoGenerateColumns属性来处理. //禁止自动生成列,以下场景会用到:数据源的列超过需要展示的列 this.gridDevice.AutoGe ...

  7. 在SQL2008查找某数据库中的列是否存在某个值

    在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...

  8. mybatis高级(2)_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_智能标签

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  9. C#操作Dataset数据集与SQLite数据库

    近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘:     一.SQLite操作,直接贴代码,很简 ...

随机推荐

  1. POJ 3641

    Pseudoprime numbers Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6044   Accepted: 24 ...

  2. Class

    1. No const constructor Unlike other member functions, constructors may not be declared as const . W ...

  3. utmp, wtmp, and lastlog 日志清除工具

    utmp, wtmp, and lastlog 日志清除工具 http://blog.itpub.net/83980/viewspace-801664/

  4. 转一篇:文档笔记之Django QuerySet

    这个放着,说不定以后作一些更深入的查询时,用得着的. http://www.rapospectre.com/blog/7/ 今天刚刚答完辩体完检就跑来更新博客了!!! 先补上第一篇: 一般情况下,我们 ...

  5. hdu 4465 Candy 数学

    思路:易知结果为 ∑(n-k)*C(n+k,k)*(p^(n+1)*q^k+q^(n+1)*p^k). 注意不能直接算,注意点技巧!!!看代码 代码如下: #include<iostream&g ...

  6. Spring 3.0: Unable to locate Spring NamespaceHandler for XML schema namespace

    被这个问题折磨着很久:参考: http://have23.iteye.com/blog/1340777 (cfx 与 spring 整合的时候出现的问题: org.springframework.be ...

  7. lintcode 中等题:Evaluate Reverse Polish notation逆波兰表达式求值

    题目 逆波兰表达式求值 在逆波兰表达法中,其有效的运算符号包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰计数表达. 样例 ["2", "1&q ...

  8. 关于fisher判别的一点理解

    最近一个朋友问这方面的一些问题,其实之前也就很粗略的看了下fisher,真正帮别人解答问题的时候才知道原来自己也有很多东西不懂.下面小结下自己对fisher判别的理解: 其实fisher和PCA差不多 ...

  9. Java学习笔记之:Java String类

    一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...

  10. C++:纯虚函数与抽象类

    5.4.3 纯虚函数和抽象类 纯虚函数是一个在基类中说明的虚函数,它在该基类中没有定义,但是要求在派生类中根据需要对它进行定义,或仍然说明为纯虚函数. 声明纯虚函数的一般格式是: virtual 函数 ...