.Net中还提供ObjectDataSource,可以代替SqlDataSource里提供数据。而ObjectDataSource可以和业务逻辑层相连。

具体操作如下:

Default.aspx

 1 <%@ Page Language="C#" AutoEventWireup="True" CodeBehind="Default.aspx.cs" Inherits="webtst._Default" %>
 2 
 3 <%@ Register Assembly="DevExpress.Web.v9.3, Version=9.3.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
 4     Namespace="DevExpress.Web.ASPxPopupControl" TagPrefix="dx" %>
 5 
 6 <%@ Register Assembly="DevExpress.Web.ASPxGridView.v9.3, Version=9.3.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
 7     Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dx" %>
 8 
 9 <%@ Register Assembly="DevExpress.Web.ASPxEditors.v9.3, Version=9.3.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
10     Namespace="DevExpress.Web.ASPxEditors" TagPrefix="dx" %>
11 
12 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
13 
14 <html xmlns="http://www.w3.org/1999/xhtml" >
15 <head runat="server">
16     <title></title>
17 </head>
18 <body>
19 
20     <form id="form1" runat="server">
21     <div>
22 
23         <dx:ASPxGridView ID="masterGridView" runat="server">
24         <Templates>
25         <DetailRow>
26         <%--detail表格要指定它的DataSourceID为对应的ObjectDataSource --%>
27         <dx:ASPxGridView ID="detailGridView" runat="server" AutoGenerateColumns="False" 
28                 DataSourceID="CarDataSource" 
29                 onbeforeperformdataselect="detailGridView_BeforePerformDataSelect">
30             <Columns>
31                 <dx:GridViewDataTextColumn FieldName="Id" VisibleIndex="0">
32                 </dx:GridViewDataTextColumn>
33                 <dx:GridViewDataTextColumn FieldName="CarName" VisibleIndex="1">
34                 </dx:GridViewDataTextColumn>
35             </Columns>
36             <%-- detail表格的这个属性要设置为true --%>
37             <SettingsDetail IsDetailGrid= "true" />
38         </dx:ASPxGridView>
39         </DetailRow>
40         </Templates>
41         <%-- master表格的这个属性要设置为true才能显示出detail表 --%>
42         <SettingsDetail ShowDetailRow="true" />
43         </dx:ASPxGridView>
44     </div>
45     <%-- ObjectDataSource的配置属性,指定了SELECT方法为GetMyCar函数, --%>
46     <asp:ObjectDataSource ID="CarDataSource" runat="server" 
47         SelectMethod="GetMyCar" TypeName="webtst.Car">
48         <SelectParameters>
49             <%-- 设置了一个Session["ID"]来源地参数id --%>
50             <asp:SessionParameter Name="id" SessionField="ID" Type="Int32" />
51         </SelectParameters>
52     </asp:ObjectDataSource>
53     </form>
54 </body>
55 </html>
56 

Default.aspx.cs

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Data;
  4 using System.Web;
  5 using System.Web.UI;
  6 using System.Web.UI.WebControls;
  7 using DevExpress.Web.ASPxGridView;
  8 namespace webtst
  9 {
 10     public partial class _Default : System.Web.UI.Page
 11     {
 12         protected void Page_Load(object sender, EventArgs e)
 13         {
 14 
 15             masterGridView.DataSource = GetDriver();
 16             masterGridView.KeyFieldName = "Id";
 17             masterGridView.DataBind();
 18         }
 19         //后台查询接口,返回主表数据
 20         public List<Driver> GetDriver()
 21         {
 22             List<Driver> drivers = new List<Driver>();
 23             drivers.Add(new Driver(0, "Li", "Beijing"));
 24             drivers.Add(new Driver(1, "Wang", "Beijing"));
 25             drivers.Add(new Driver(2, "Zhang", "Beijing"));
 26             drivers.Add(new Driver(3, "Zhao", "Beijing"));
 27             drivers.Add(new Driver(4, "Qian", "Beijing"));
 28             return drivers;
 29         }
 30 
 31         protected void detailGridView_BeforePerformDataSelect(object sender, EventArgs e)
 32         {
 33             //降主表的主键写入Session,以便于ObjectDataSource在SELECT时调用
 34             Session["ID"] = (sender as ASPxGridView).GetMasterRowKeyValue();
 35          }
 36         
 37     }
 38     //Master类
 39     public class Driver
 40     {
 41         private int _Id;
 42         public int Id
 43         {
 44             get { return _Id; }
 45             set { _Id = value; }
 46         }
 47         private string _Name;
 48         public string Name
 49         {
 50             get { return _Name; }
 51             set { _Name = value; }
 52         }
 53         private string _Addr;
 54         public string Addr
 55         {
 56             get { return _Addr; }
 57             set { _Addr = value; }
 58         }
 59         public Driver(int id, string name, string addr)
 60         {
 61             Id = id;
 62             Name = name;
 63             Addr = addr;
 64         }
 65         
 66     }
 67     //Detail类
 68     public class Car
 69     {
 70         private int _Id;
 71         public int Id
 72         {
 73             get { return _Id; }
 74             set { _Id = value; }
 75         }
 76         private string _CarName;
 77         public string CarName
 78         {
 79             get { return _CarName; }
 80             set { _CarName = value; }
 81         }
 82         public Car(int id, string carname)
 83         {
 84             Id = id;
 85             CarName = carname;
 86         }
 87         //静态查询函数,对应ObjectDataSource中的SelectMethod,参数对应从主表中传入的Key
 88         //在ObjectDataSource根据这个参数自动产生,然后只要指定参数来源于Session中的ID即可
 89         public static List<Car> GetMyCar(int id)
 90         {
 91             //随机产生一个子表的返回数据,此处可以替换成调用其他BLL接口
 92             List<Car> cars = new List<Car>();
 93 
 94             cars.Add(new Car(id, "Car" + (id * 10 + 1).ToString()));
 95             cars.Add(new Car(id, "Car" + (id * 10 + 2).ToString()));
 96             cars.Add(new Car(id, "Car" + (id * 10 + 3).ToString()));
 97             cars.Add(new Car(id, "Car" + (id * 10 + 4).ToString()));
 98             return cars;
 99         }
100         
101     }
102 }
103 

群212099235

asp.net aspxgridview 绑定数据相关推荐

  1. ASP.NET dropdownlist绑定数据却显示System.Data.DataRowView

    问题: 在VS中用dropdownlist控件绑定数据,浏览时却在控件里显示System.Data.DataRowView,而不是要显示的数据,代码如下: public static DataSet ...

  2. asp.net checkboxlist绑定数据读取出来

    1.把数据绑定到CheckBoxList中 protected void Page_Load(object sender, EventArgs e) {if (!Page.IsPostBack){Sq ...

  3. asp.net页面绑定数据的方式-----未完待续

    **方式一 **方式二 转载于:https://www.cnblogs.com/wgx0428/archive/2012/05/10/2493953.html

  4. ASP.ENT前台更改绑定数据的日期格式

    1.Eval和Bind的区别 绑定表达式 < %# Eval("字段名") %> < %# Bind("字段名") %> 区别 1.ev ...

  5. Scott Mitchell 的ASP.NET 2.0数据教程之十一: 基于数据的自定义格式化

    介绍 我们可以通过控制HeaderStyle, RowStyle, AlternatingRowStyle和其他一些属性来改变GridView, DetailsView, 和 FormView的样式, ...

  6. jquery配合.NET实现点击指定绑定数据并且能够一键下载

    原文链接 http://www.jb51.net/article/95983.htm 大体思路: 1.jquery得到选中的绑定数据的id,将这个id赋值到数组中,最后将这个数组的值赋值给页面中创建的 ...

  7. Scott Mitchell 的ASP.NET 2.0数据教程之二十一:: 实现开放式并发

    在ASP.NET 2.0中操作数据:实现开放式并发 下载本教程中的编码例子 | 下载本教程的PDF版 导言 对于那些仅仅允许用户查看数据,或者仅有一个用户可以修改数据的web应用软件,不存在多用户并发 ...

  8. Scott Mitchell 的ASP.NET 2.0数据教程之三十八:: 处理BLL和DAL的异常

    原文 | 下载本教程中的编码例子 | 下载本教程的PDF版 导言 在 综叙:在DataList里编辑和删除数据 里,我们创建了一个提供简单编辑和删除功能的DataList.虽然功能上已经完整了,但是对 ...

  9. ListBox和ComboBox绑定数据简单例子

    1. 将集合数据绑定到ListBox和ComboBox控件,界面上显示某个属性的内容 //自定义了Person类(有Name,Age,Heigth等属性) List<Person> per ...

最新文章

  1. [泰然翻译] cocos2d programming guide翻译(10)
  2. 019_Vue子组件向父组件传值
  3. 使用STM32和freeRTOS实现《贪吃蛇》
  4. 6.微服务:从设计到部署 --- 选择部署策略
  5. 畅谈无线通信系统物理层之系统概述
  6. 局域网计算机维护工具,局域网共享工具,教您局域网共享工具
  7. Python练习小工具——根据Exif的拍摄时间和设备名批量重命名照片
  8. PMP第十一节:项目风险管理
  9. Aliyun 阿里云 机器翻译调用 详解
  10. java线程中yield()和join()的区别
  11. 防止信息泄露的新方法
  12. html导航页面转换,纯CSS实现导航栏Tab切换效果
  13. Mysql之st_distance_sphere计算两坐标点距离
  14. 加密芯片ATSHA204之使用
  15. oracle转trs,TRS数据库数据的导入导出2.doc
  16. 超实用Excel快捷键,让你办公提速百倍
  17. X-Pool:多伦多大学提出基于文本的视频聚合方式,在视频文本检索上达到SOTA性能!(CVPR 2022)...
  18. 教育培训机构数字化指标-续班率
  19. Photoshop-滤镜库的详细使用方法
  20. MVC设计模式及其工作原理

热门文章

  1. 一句shell命令搞定代码行数统计
  2. 电阻、电感、电容、电子元件认识
  3. 查日志定位问题常用命令
  4. 笑中带泪的码农往事:入职三天被开,公司给100块叫我走人,有我惨?
  5. android LeanCloud 数据存储
  6. 给图片增加高斯模糊效果
  7. 各种金属颜色的F0(RGB) 值:
  8. 计算机专业群名有内涵,微信群起名高端有内涵
  9. 【Wallpaper挂时长】在后台也能增加游戏时长
  10. English语法_形容词/副词3级-最高级