首页 > 代码库 > GridView控件显示有外键实体
GridView控件显示有外键实体
1).先拖入GridView控件,再拖入数据源控件 ObjectDataSource ,配置数据源控件:
1.配置SELECET得到所有数据时,得先修改自动生成代码 DAL.Room 的一个方法: if (strWhere != null && strWhere.Trim() != "")
1 /// <summary> 2 /// 获得数据列表 3 /// </summary> 4 public DataSet GetList(string strWhere) 5 { 6 StringBuilder strSql = new StringBuilder(); 7 strSql.Append("select RoomNum,RoomType,RoomState,BedNum,GuestNum,Descrption "); 8 strSql.Append(" FROM Room "); 9 if (strWhere != null && strWhere.Trim() != "")10 {11 strSql.Append(" where " + strWhere);12 }13 return DbHelperSQL.Query(strSql.ToString());14 }
2.在配置DELETE删除一条数据时,得在 BLL.Room 总增加一个方法的重载,这是由于数据源控件所有的操作都是基于 Model 进行互相传值的:
1 /// <summary> 2 /// 删除一条数据 3 /// 重载下一个方法,传入对象模型 4 /// </summary> 5 public bool Delete(Model.Room model) 6 { 7 8 return Delete(model.RoomNum);; 9 }10 /// <summary>11 /// 删除一条数据12 /// </summary>13 public bool Delete(string RoomNum)14 {15 16 return dal.Delete(RoomNum);17 }
3.还的必须指定 GridView 的一个属性【DataKeyNames="RoomNum"】,GridView中 DataKeyNames 里面存的值都相当于你表里面的标志列,当你要用到的时候就可以得到这个标志列,去得到你的其他的数据信息.就如一个隐藏的值~~!!
4.经过上面三步,【删除】【查找】都可以进行实现,但是对于【更新】由于现今无法实现对外键实体的展示,所以总是失败,怎么处理才能将外键实体显示出来???
解决方案:添加【自定义模板】----用来显示外键实体,代码如下:
1 <asp:TemplateField HeaderText="房间类型"> 2 <ItemTemplate> 3 <asp:Label ID="Label1" runat="server" Text=‘<%# Eval("RoomType.TypeName") %>‘></asp:Label> 4 </ItemTemplate> 5 </asp:TemplateField> 6 <asp:TemplateField HeaderText="房间价格"> 7 <ItemTemplate> 8 <asp:Label ID="Label2" runat="server" Text=‘<%# Eval("RoomType.Price") %>‘></asp:Label> 9 </ItemTemplate>10 </asp:TemplateField>
-------------------------------------------上面两截代码中注意的是 必须使用关键字【Eval】,而不是【Bind】,这是由于Bind是双向绑定~~;另外 Eval()方法还有一个重载()----第一个参数为绑定的字段,第二个参数为 显示的格式。其中代码段中的"{0:C}"----C表示已金钱的格式显示
1 <asp:TemplateField HeaderText="房间价格">2 <ItemTemplate>3 <asp:Label ID="Label2" runat="server" Text=‘<%# Eval("RoomType.Price","{0:C}") %>‘></asp:Label>4 </ItemTemplate>5 </asp:TemplateField>
这样基本就可以显示出【外键实体的信息】,但是
GridView控件显示有外键实体
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。