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;//起始为1
            dc.AutoIncrementStep = 1;//步长为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 = 0; i < 20; 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[5][1] = "5555555555";
        }
    }
}
复制代码

 

参考代码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, 0, strFilter, sortDirect);//Sql 中使用翻页函数

DataTable dtTask = dt_sp;

for (int i = 0; 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的列与数据库表里面的列一一对应

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。






    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5974201.html ,如需转载请自行联系原作者


相关文章
|
7月前
|
数据库 数据安全/隐私保护
winform通过ListView绑定数据库数据源
winform通过ListView绑定数据库数据源
winform通过ListView绑定数据库数据源
|
7月前
|
关系型数据库 MySQL 数据库
第十四章 演示MYSQL自定义values.yaml绑定PV和PVC和数据库用户密码
第十四章 演示MYSQL自定义values.yaml绑定PV和PVC和数据库用户密码
81 0
|
7月前
|
SQL 安全 API
C# 读取Word表格到DataSet
C# 读取Word表格到DataSet
|
14天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
14天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
3月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
2月前
|
SQL 缓存 大数据
C#高效处理大数据的批次处理,以及最好的数据库设计
C#高效处理大数据的批次处理,以及最好的数据库设计
71 0
|
3月前
|
SQL 存储 关系型数据库
C#一分钟浅谈:使用 ADO.NET 进行数据库访问
【9月更文挑战第3天】在.NET开发中,与数据库交互至关重要。ADO.NET是Microsoft提供的用于访问关系型数据库的类库,包含连接数据库、执行SQL命令等功能。本文从基础入手,介绍如何使用ADO.NET进行数据库访问,并提供示例代码,同时讨论常见问题及其解决方案,如连接字符串错误、SQL注入风险和资源泄露等,帮助开发者更好地利用ADO.NET提升应用的安全性和稳定性。
321 6
|
4月前
|
关系型数据库 Java MySQL
C#winform中使用SQLite数据库
C#winform中使用SQLite数据库
203 3
C#winform中使用SQLite数据库
|
4月前
|
关系型数据库 MySQL 大数据
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
C#使用SqlSugar操作MySQL数据库实现简单的增删改查
272 2