c# 中如何把实体类绑定到dataGridView并显示出来。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 中如何把实体类绑定到dataGridView并显示出来。相关的知识,希望对你有一定的参考价值。

在c#三层结构中,我用实体类从数据库中读取了一张表在里面。现在在表示层中有一个datagridview控件,我把这个实体类绑定到了它的数据源。不知道如何像dateset一样,把表中的数据显示出来。谢谢 了

将你的实体对象一个一个的加载进ArrayList对象中,在将ArrayList作为数据源绑定到datagridview空间里就行了.

注意:实体类必须每个字段属性话后才能作为绑定后的有效字段.

比如必须:
private int age= 0;
public int Age get return age; //必须实现get,这样数据集中就有Age这个字段了。

以下是我给你写的例子:
using System;
using System.Data;

public class Book

private string _Name = "";
public string Name

get return _Name;
set _Name = value;


private string _Title = "";
public string Title

get return _Title;
set _Title = value;


private int _Pages = 0;
public int Pages

get return _Pages;
set _Pages = value;



using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.htmlControls;
using System.Collections; //ArrayList所处的空间

public partial class _Default : System.Web.UI.Page

protected void Page_Load(object sender, EventArgs e)

ArrayList al = new ArrayList();
for (int i = 0; i < 6; i++)
Book b = new Book();
b.Name = "AAA";
b.Pages = i + 1000;
b.Title = "leo";

al.Add(b);



this.GridView1.DataSource = al;
this.GridView1.DataBind();

//使用方式和DataView等对象使用方式一致。其优点是更好的数据支持!



记得马上给分 ^o^
参考技术A 这样来操作
List<实体类> list = new List<实体类>();
循环读取DataReader
while(dr.Read())

实体类 t = new 实体类();
//下面的代码把datareader封装到单个实体中
list.Add(t);


绑定的时候直接datagridview.DataSource= list
和dataset绑定其实是一样的,不过绑定的实体类的属性

使用的是反射的方式进行的绑定本回答被提问者和网友采纳
参考技术B 你在实体类里加个GetDataTable函数,返回一个datetable就可以直接给datagridview绑定了 参考技术C   public IList<You_Model> ReBind()
  
  IList<You_Model> ReModel=new List<You_Model>();
  //execmd 读数据什么的
  //dr 然后getstring add到ReModel
  return ReModel;
  
  //绑定
  数据控件或其他的.datasource=ReBind();//你可以把它看作一个集合(相当于ds,dr什么的),多维数组。
参考技术D 出现的问题就是dataGridView中的数据为null就会报错,加上判断就行了。
解决方法供参考:
1.设置dgvSurchargeText.AutoGenerateColumns = false;
2.判断dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value!=null
其中dgv是dataGridView。

C#编程代码如何从数据库中查询并把查询结果显示在dataGridView?

参考技术A

最简单的

写一个数据查询类.然后调用xx.chaxun方法

窗体代码写以下这些就可以了

sql = "select * from xxxx";

Datatable dt = xx.chaxun(sql);

datagridview1.DataSource = dt;

记得将datagridview里面的字段与表中的字段相关联

Dateset 或DataTable或集合进行数据绑定,如有什么问题,请继续追问 private DataSet ds = new DataSet();

private SqlDataAdapter adapter = new SqlDataAdapter();//创建数据适配器

SqlCommand com = new SqlCommand("select TeacGuid, TeacName as 姓名,TeacSex as 性 别,TeacSalary as 工资,TeacRemark as 备注 from Teachers", DBHelper.con);

adapter.SelectCommand = com;

adapter.Fill(ds, "Teachers");//将按照条件查出来的Teachers表中信息填充到ds中

this.dataGridView1.DataSource = ds.Tables["Teachers"]; 附上一段用DataSet实现的代码。

以上是关于c# 中如何把实体类绑定到dataGridView并显示出来。的主要内容,如果未能解决你的问题,请参考以下文章

将实体框架对象绑定到 Datagridview C#

c# winform DataGridView添加一行,添加数据后,保存到数据库

C#中datagridview如何绑定ArrayList集合?

C#编程代码如何从数据库中查询并把查询结果显示在dataGridView?

如何在c#中将数据表绑定到datagridview

如何从没有绑定源 C# 生成的 datagridview 中检索数据源?