gridview如何将一行记录显示为两行

来源:互联网 发布:为什么淘宝没有展现 编辑:程序博客网 时间:2024/05/16 15:41

最近遇到这么一个需求

 

gridview中原有7个字段
column1  column2  column3  column4  column5  column6  column7
xxx          xxx         xxx          xxx          xxx          xxx          xxx   
现在需要新增加4个字段,由于横向排列会比较长,所以希望可以把新增加的4个字段放在原有字段的下面,增加一个控制显示/隐藏的按钮来控制新行。
就是这个样子
column1  column2  column3  column4  column5  column6  column7 
xxx          xxx          xxx          xxx          xxx          xxx          xxx        button
column8:yyy        column9:yyy        column10:yyy      column11:yyy 

由于新的4个字段需要显示名称,所以可能需要合并该行,重新排列4个字段的显示

由于gridview生成的是表格,所以要换行处理起来比较困难。

如果换做datalist或者repeater,有了template的存在,就没有什么问题了。

或者,可以把gridview只保留一列,所有的东西都定义在一个templatefield里面,也就相当于repeater,实现起来也不难,只是标题和内容的对齐要控制。

 

google,百度,找了好久,没有什么结果。

CSDN上发了帖子,也是建议不要用gridview的。无奈,继续google。

意外发现,已经有人给出代码了。

google到的地址:http://www.dotnetspider.com/forum/159858-How-we-can-create-nested-gridview-asp-net.aspx

演示在这里:http://www.giswiz.com/nested_gridview_dropdown/

 

嗯,正是我想要的。

关键代码:

 

 

注意27行,这里做了一个inject,结束掉一行并且创建一个新行。这样,就可以将一行记录显示为两行,而又可以像操作一行记录那样操作改行记录和控件。

需要注意的是,结束掉的行的末尾,会多出来一个空列,会占用一点空间,需要把列隐藏掉。

 

回头想想,好像很久以前的时候,组里的老大曾经讲过这个东西。不常用到,忘了。

 

附上原作者的原文:

 

某同学提供了一个不错的东西:http://demos.devexpress.com/ASPxGridViewDemos/Columns/CustomizationWindow.aspx

原创粉丝点击