c# datagridview与DataSet绑定, 列与数据库表里面的列一一对应
参考代码1:
自己模拟出数据,并分别对dataGridView赋值。
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.Collections;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- DataTable tblDatas = new DataTable("Datas");
- private void Form1_Load(object sender, EventArgs e)
- {
- DataColumn dc = null;
- dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
- dc.AutoIncrement = true;//自动增加
- dc.AutoIncrementSeed = ;//起始为1
- dc.AutoIncrementStep = ;//步长为1
- dc.AllowDBNull = false;//
- dc = tblDatas.Columns.Add("Product", Type.GetType("System.String"));
- dc = tblDatas.Columns.Add("Version", Type.GetType("System.String"));
- dc = tblDatas.Columns.Add("Description", Type.GetType("System.String"));
- DataRow newRow;
- for (int i = ; i < ; i++)
- {
- newRow = tblDatas.NewRow();
- newRow["Product"] = "大话西游";
- newRow["Version"] = "2.0";
- newRow["Description"] = "我很喜欢";
- tblDatas.Rows.Add(newRow);
- }
- newRow = tblDatas.NewRow();
- newRow["Product"] = "梦幻西游";
- newRow["Version"] = "3.0";
- newRow["Description"] = "比大话更幼稚";
- tblDatas.Rows.Add(newRow);
- dataGridView1.DataSource = tblDatas;
- //dataGridView1
- }
- private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
- {
- //datagridview变化DataSet数据跟随变化;
- tblDatas.Rows[e.RowIndex][e.ColumnIndex] = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- //这个是DataSet数据变化datagridview跟随变化;
- //这个要根据实际来的,这里只有修改dataSet中一个单元格的数据。
- tblDatas.Rows[][] = "";
- }
- }
- }
参考代码2
手动分别赋值方式。
- DataSet ds_sp = new DataSet();
- DataTable dt_sp = new DataTable();
- if (string.IsNullOrEmpty(strFilter))
- {
- strFilter = " 1=1";
- }
- dt_sp = DbHelper.getSqlTaskList(tablename, "*", sortExpr, this.SGVTask.PageSize, pageIndex, , strFilter, sortDirect);//Sql 中使用翻页函数
- DataTable dtTask = dt_sp;
- for (int i = ; i < dtTask.Rows.Count; i++)
- {
- DataRow dr = dt.NewRow();
- dr["YMD"] = dtTask.Rows[i]["YMD"].ToString();
- dr["SDSHAN"] = dtTask.Rows[i]["SDSHAN"].ToString();
- dr["ABALPH"] = dtTask.Rows[i]["ABALPH"].ToString();
- dr["XSJE"] = dtTask.Rows[i]["XSJE"].ToString();
- dr["FenTan_Month"] = dtTask.Rows[i]["FenTan_Month"].ToString();
- dr["Cont_KeBian"] = dtTask.Rows[i]["Cont_KeBian"].ToString();
- dr["Contract_Num"] = dtTask.Rows[i]["Contract_Num"].ToString();
- dr["FenTan_Mode"] = dtTask.Rows[i]["FenTan_Mode"].ToString();
- dr["FenTan_BL_Je"] = dtTask.Rows[i]["FenTan_BL_Je"].ToString();
- dr["CJ"] = dtTask.Rows[i]["CJ"].ToString();
- dr["FixSmOrderNum"] = dtTask.Rows[i]["FixSmOrderNum"].ToString();
- dr["ftfs"] = dtTask.Rows[i]["ftfs"].ToString();
- dr["FTDAI"] = dtTask.Rows[i]["FTDAI"].ToString();
- dr["DAIKM"] = dtTask.Rows[i]["DAIKM"].ToString();
- dr["FTJIE"] = dtTask.Rows[i]["FTJIE"].ToString();
- dr["JIEKM"] = dtTask.Rows[i]["JIEKM"].ToString();
- dr["MEMO"] = dtTask.Rows[i]["MEMO"].ToString();
- dt.Rows.Add(dr);
- }
- this.SGVTask.DataSource = dt;
- this.SGVTask.DataBind();
参考方式3 映射方式:
先在DataGridView中定义一些列,将这些列的DataPropertyName设置为查询得到的数据库的返回的DataSet中相关DataTable的列名称。
具体的属性设置可参考本博客文章:C# DataGridView的列对象属性探讨 (未完待续)。
参考
c# datagridview 如何与DataSet绑定实现如下目标
C#怎样使 dataGridView1显示数据的时候,dataGridView1的列与数据库表里面的列一一对应
c# datagridview与DataSet绑定, 列与数据库表里面的列一一对应的更多相关文章
- Hadoop HBase概念学习系列之HBase里的列式数据库(十七)
列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取. 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析, ...
- [置顶] DataGridView控件---绑定数据方法
DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...
- DataGridView编辑后立即更新到数据库的两种方法
DataGridView控件是微软预先写好的一个显示数据的控件,功能非常强大,可以显示来自数据库表的数据和XML等其他来源的数据. 方法一:基于DataAdapter对象创建一个CommandBuli ...
- DataGridView,Dataset,DataTable,DataRow等使用心得
DataGridView的列编辑: Name:用于调用属性的时候用的,也可以不使用Name去调用,选择数字1,2,3...选择第1列,第2列,第3列. HeaderText:表头显示的名字方便用户使用 ...
- 查询数据库的所有列信息 sys.all_columns
一.Database.sys.tables 为每个表对象返回一行,当前仅用于 sys.objects.type = U 的表对象. 列名 数据类型 说明 <继承的列> 有关此视图所继承 ...
- c# DataGridView在使用DataSource时,只显示指定的列或禁止自动生成列
可通过设置DataGridView控件的AutoGenerateColumns属性来处理. //禁止自动生成列,以下场景会用到:数据源的列超过需要展示的列 this.gridDevice.AutoGe ...
- 在SQL2008查找某数据库中的列是否存在某个值
在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...
- mybatis高级(2)_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_智能标签
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- C#操作Dataset数据集与SQLite数据库
近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘: 一.SQLite操作,直接贴代码,很简 ...
随机推荐
- POJ 3641
Pseudoprime numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6044 Accepted: 24 ...
- Class
1. No const constructor Unlike other member functions, constructors may not be declared as const . W ...
- utmp, wtmp, and lastlog 日志清除工具
utmp, wtmp, and lastlog 日志清除工具 http://blog.itpub.net/83980/viewspace-801664/
- 转一篇:文档笔记之Django QuerySet
这个放着,说不定以后作一些更深入的查询时,用得着的. http://www.rapospectre.com/blog/7/ 今天刚刚答完辩体完检就跑来更新博客了!!! 先补上第一篇: 一般情况下,我们 ...
- hdu 4465 Candy 数学
思路:易知结果为 ∑(n-k)*C(n+k,k)*(p^(n+1)*q^k+q^(n+1)*p^k). 注意不能直接算,注意点技巧!!!看代码 代码如下: #include<iostream&g ...
- Spring 3.0: Unable to locate Spring NamespaceHandler for XML schema namespace
被这个问题折磨着很久:参考: http://have23.iteye.com/blog/1340777 (cfx 与 spring 整合的时候出现的问题: org.springframework.be ...
- lintcode 中等题:Evaluate Reverse Polish notation逆波兰表达式求值
题目 逆波兰表达式求值 在逆波兰表达法中,其有效的运算符号包括 +, -, *, / .每个运算对象可以是整数,也可以是另一个逆波兰计数表达. 样例 ["2", "1&q ...
- 关于fisher判别的一点理解
最近一个朋友问这方面的一些问题,其实之前也就很粗略的看了下fisher,真正帮别人解答问题的时候才知道原来自己也有很多东西不懂.下面小结下自己对fisher判别的理解: 其实fisher和PCA差不多 ...
- Java学习笔记之:Java String类
一.引言 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String str= "Hello w ...
- C++:纯虚函数与抽象类
5.4.3 纯虚函数和抽象类 纯虚函数是一个在基类中说明的虚函数,它在该基类中没有定义,但是要求在派生类中根据需要对它进行定义,或仍然说明为纯虚函数. 声明纯虚函数的一般格式是: virtual 函数 ...