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

在c#三层结构中,我用实体类从数据库中读取了一张表在里面。现在在表示层中有一个datagridview控件,我把这个实体类绑定到了它的数据源。不知道如何像dateset一... 在c#三层结构中,我用实体类从数据库中读取了一张表在里面。现在在表示层中有一个datagridview控件,我把这个实体类绑定到了它的数据源。不知道如何像dateset一样,把表中的数据显示出来。谢谢 了 展开
 我来答
leo43
2008-09-05 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:144万
展开全部
将你的实体对象一个一个的加载进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^
疯狂代码
推荐于2018-02-28 · TA获得超过264个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:519万
展开全部
这样来操作
List<实体类> list = new List<实体类>();
循环读取DataReader
while(dr.Read())
{
实体类 t = new 实体类();
//下面的代码把datareader封装到单个实体中
list.Add(t);
}

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

使用的是反射的方式进行的绑定
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旋天渣观9129
2008-09-05 · TA获得超过1487个赞
知道大有可为答主
回答量:1443
采纳率:0%
帮助的人:1611万
展开全部
你在实体类里加个GetDataTable函数,返回一个datetable就可以直接给datagridview绑定了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2016-02-14 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2819万
展开全部
  public IList<You_Model> ReBind()
  {
  IList<You_Model> ReModel=new List<You_Model>();
  //execmd 读数据什么的
  //dr 然后getstring add到ReModel
  return ReModel;
  }
  //绑定
  数据控件或其他的.datasource=ReBind();//你可以把它看作一个集合(相当于ds,dr什么的),多维数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水墨的世界
2021-12-25 · TA获得超过1058个赞
知道答主
回答量:226
采纳率:100%
帮助的人:23.6万
展开全部
出现的问题就是dataGridView中的数据为null就会报错,加上判断就行了。
解决方法供参考:
1.设置dgvSurchargeText.AutoGenerateColumns = false;
2.判断dgv.Rows[e.RowIndex].Cells[e.ColumnIndex].Value!=null
其中dgv是dataGridView。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式