利用Repeater解决DataGrid的嵌套显示问题
来源:互联网 发布:游戏编程要用到是软件 编辑:程序博客网 时间:2024/06/05 22:38
一直以来,客户需要在WEB上面显示嵌套的数据页面,如下图所示:
而我们的项目全部统一采用DataGrid来进行数据的绑定显示.对于这种嵌套数据的显示,我一直头疼.在网上搜了N种方法:采用嵌套DataGrid...手动在数据绑定的时候进行一些额外操作分割单元格.....全部都麻烦得要死.今天总算在CodeProject上面找到一种方便点的方法:采用Repeater来解决这个问题.
首先,来看下我的DataGrid中列的html代码:
再来看关键代码
而我们的项目全部统一采用DataGrid来进行数据的绑定显示.对于这种嵌套数据的显示,我一直头疼.在网上搜了N种方法:采用嵌套DataGrid...手动在数据绑定的时候进行一些额外操作分割单元格.....全部都麻烦得要死.今天总算在CodeProject上面找到一种方便点的方法:采用Repeater来解决这个问题.
首先,来看下我的DataGrid中列的html代码:
其中的ID列表示机构的ID,用来和员工信息中的机构ID进行"关联".<asp:BoundColumn Visible="False" DataField="ID"></asp:BoundColumn><asp:BoundColumn DataField="OrganName" HeaderText="部门名称"></asp:BoundColumn><asp:TemplateColumn HeaderText="员工"> <ItemTemplate> <FONT face="宋体"> <asp:Repeater id="Repeater1" runat="server" DataSource='<%# ((System.Data.DataRowView)Container.DataItem).Row.GetChildRows("parentchild") %>'> <HeaderTemplate> <table> </HeaderTemplate> <ItemTemplate> <tr> <td><%# DataBinder.Eval(Container.DataItem,"[/"EmployeeName/"]")%></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater></FONT> </ItemTemplate></asp:TemplateColumn>
再来看关键代码
DataSet ds = new DataSet(); DataTable dtOrgan = new DataTable(); dtOrgan.Columns.Add("ID",typeof(string)); dtOrgan.Columns.Add("OrganName",typeof(string)); ... /*...往机构表中灌数据...*/ ds.Tables.Add(dtOrgan); DataTable dtEmployee = new DataTable(); dtEmployee.Columns.Add("OrganID",typeof(string)); dtEmployee.Columns.Add("EmployeeName",typeof(string)); ... /*...往员工表中灌数据...*/ ds.Tables.Add(dtEmployee); ds.Relations.Add("parentchild",ds.Tables[0].Columns["ID"],ds.Tables[1].Columns["OrganID"]); dgList.DataSource = ds.Tables[0].DefaultView; dgList.DataBind();
最主要的就是利用了DataSet的Relations的属性,通过属性来将父子表关联起来,然后进行数据的绑定.最后,在WEB上运行出来的效果如下所示:
- 利用Repeater解决DataGrid的嵌套显示问题
- 利用Repeater解决DataGrid的嵌套显示问题
- repeater,datalist, datagrid的嵌套问题
- 嵌套Repeater的问题
- DataGrid Repeater关于绑定列过长截断显示的问题
- 解决easyui无法显示datagrid的问题
- 解决easyUI-datagrid不显示的问题
- DataGrid中嵌套使用Repeater
- DataGrid中嵌套使用Repeater
- DataGrid中嵌套使用Repeater
- 关于多层repeater,datagrid,datalist嵌套的示例
- Datalist嵌套Repeater显示
- 我的DataGrid嵌套DataList(未解决)
- 利用q解决嵌套回调的问题
- 如何解决easyui-datagrid分页组件中文显示的问题
- 如何解决easyui-datagrid分页组件中文显示的问题
- 解决EasyUI的datagrid控件显示日期问题
- 使用嵌套的Repeater控件显示分级数据
- 达芬奇(DaVinciTM)技术背景介绍
- 达芬奇(davinci)dm6443芯片的资源
- 换行失效
- 使用Netbeans IDE 4.1和Mobility Pack开发J2ME应用程序
- 35岁之前成功12条法则
- 利用Repeater解决DataGrid的嵌套显示问题
- 泛型委托实例
- 35岁之前成功12条法则[转载]
- 将数据层打成DLL
- 正则表达式中特殊字符的说明及应用
- $的本质
- 正则表达式在线手册及使用指南技巧
- log4j
- Java 学习笔记-01