首页 新闻 搜索 专区 学院

asp.net中 GridView显示多表连接的数据

0
悬赏园豆:20 [已解决问题] 解决于 2010-12-03 13:13

我有3个表 表 A中有ID  BID CID name 表B中有BID Bname 表C中有CID Cname 我用了多表查询 把我想要的数据查询出来 就是在A表中显示 Bname Cname和 name 这这样怎么绑定到Gridview中呢 要用ObjectDataSourse绑定的  可我点绑定 那些列中 没有Bname Cname只有原本的 BID CID  我有什么办法在GrdiView中显示name Cname和 name 呢 我的实体类 A中的BID 和CID 我的实体类 是不是得改成 public 表B Bname{get;set}呢  我有什么办法在GrdiView中显示name Cname和 name 呢 

问题补充: 我在GridView中 加个模版列 里面放着 <%Eval#((表A的实体)Container.DataItem).表B.Bname%> <%Eval#((表a的实体)Container.DataItem).表c.cname%> 这这样子报错 说找不到A的实体 界面层不能当实体名称吗 有引用实体层的
bibi恋的主页 bibi恋 | 初学一级 | 园豆:47
提问于:2010-11-21 00:53
< >
分享
最佳答案
0

你是在前台绑定的吗,如果在前台绑定的有两种方案,一是在数据库中建一个视图,视图中包含你要显示的列,然后从这个视图选数据就好了;二是在选择数据源过程中不用具体的表,用一个SQL语句,用联合查询把要显示的列选出来

如果在后台绑定的,可以写一SQL查询,把需要的列选出来放在一个DataTable中,绑定就好了

收获园豆:20
artwl | 专家六级 |园豆:16536 | 2010-11-21 08:19
我不想用后台绑定的....我要前台绑定的 绑定数据源 那个选视图就好了吗...但是如果我在GridView中再加 增删改 查询详细信息 按钮 这样视图能用吗
bibi恋 | 园豆:47 (初学一级) | 2010-11-21 11:43
这个就要你要数据库中设置了(主要在删除的级联上): 参考:http://www.cnblogs.com/wszhe/archive/2007/07/11/813493.html
artwl | 园豆:16536 (专家六级) | 2010-11-21 11:53
前台绑定?那你用微软控件ObjectDataSource,把你select的数据返回给ObjectDataSource。不说了,感觉没意思。
青山依旧在 | 园豆:350 (菜鸟二级) | 2010-11-22 19:11
其他回答(2)
0

一条sql返回数据,返回datatable 或是连接模式的SqlDataReader,然后  绑定到Gridview的DataSource,再执行一下GridView的 DataBind()方法。估计你根本没搞过asp.net

青山依旧在 | 园豆:350 (菜鸟二级) | 2010-11-21 20:20
这样显示的数据 的那些字段 自由一个表的 ...那2个外键连接的列显示出来的数据是为空的 如果是然后 绑定到Gridview的DataSource,再执行一下GridView的 DataBind()方法 那这样不就是后台绑定了 可我想是前台绑定的 Objectdatasourse绑定的
支持(0) 反对(0) bibi恋 | 园豆:47 (初学一级) | 2010-11-21 21:52
0

楼主用视图不用具体的实体,或者建一个对应视图的实体来显示网格数据...

三桂 | 园豆:3565 (老鸟四级) | 2010-11-21 23:27
我用视图 貌似可以了 我明天再去修改下 在添加个模版 写增删改的功能
支持(0) 反对(0) bibi恋 | 园豆:47 (初学一级) | 2010-11-21 23:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册